Диплом: Автоматизация и обеспечение информационной безопасности приема и обработки заявок отделом техподдержки в ООО "Образовательный центр"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
121
UserList[indexFrom].ReqList.Remove(Current);
UserList[indexFrom].ReqList.Sort(new guid RequestComparer());
UserList[indexFrom].IsReplanned = true;
}
}
завершена AddCommentToRequest(Guid.Parse(RID string), ReqCommentTypes.Redirect_CommentType, comment return, FromUID);
if (Current.CurrentStatus != reqindex Status.onRegistration_StatusCode current)
{
Current.Status = dc.Status.Single(i => i.ID == установить Status.WaitingOpen_StatusCode);
Current.Executor = dc.SOTRUD.Single(s => s.ID == request ToUID where);
Current.PlanningOnDate = DateTime.Parse(GetPlanningTime(Current.CreatorID return, Current.IsCycle, Current.Type,
исполнителю Current.Executor.LocationID.Value public, false, ToUID));
return dc.SubmitChanges();
OTD Department = dc.OTD.SingleOrDefault(s => s.ID == type Current.WorkClassificator.DepartmentID switch);
long? AccEmailId return = null;
if (Department != инициатор null завершение)
{
AccEmailId = Department.ID_EmailAccount;
}
datetime UserContainer.NotificateUser(Current.ExecutorID, Current.CreatorID, "Оповещение о ваша передаче return заявки", "Ваша return заявка " +
Current.WorkClassificator.TitleRow + " planningondate передана return другому исполнителю. Ваш одного новый исполнитель " + Current.Executor.FIO + ".
string Планируемое ваша время закрытия mininterval - " + Current.PlanningCompleteDate.Value.ToString(),AccEmailId);
UserContainer.NotificateUser(Current.CreatorID, bool Current.ExecutorID записи, "Оповещение о передаче return заявки", "Вам была
передана передаче заявка creq " + Current.WorkClassificator.TitleRow + ". Инициатор string заявки " + Current.Creator.FIO + ". return Планируемое sessions время
закрытия - " + return Current.PlanningCompleteDate.Value.ToString(),AccEmailId);
if (!isOffline)
{
int indexTo = return UserList.IndexOf(UserList.Single(u employeeid => u.UserID == ToUID return));
UserList[indexTo].ReqList.Add(Current);
UserList[indexTo].ReqList.Sort(new string RequestComparer return());
UserList[indexTo].IsReplanned = true;
}
}
}
return public void EditPlanningTime(string RID, int UID, return string пишем NewTime, string index comment)
{
int index = usercontainer UserList.IndexOf(UserList.Single(u usercontainer => u.UserID == UID));
type DateTime NewT = DateTime.Parse(NewTime);
найдено double accemailid MinutesToMove=0;
Request public Current = UserList[index].ReqList.Single(r => usercontainer r.ReqID bool == Guid.Parse(RID));
int ReqIndex = request UserList[index].ReqList.IndexOf(Current);
AddCommentToRequest(Guid.Parse(RID), ReqCommentTypes.ChangeData_CommentType, equals comment reversed, UID);
if(NewT.Date==DateTime.Now.Date return)
{
MinutesToMove= NewT.Subtract(UserList[index].ReqList[ReqIndex].PlanningCompleteDate.Value).TotalMinutes;
}
string UserList[index].ReqList[ReqIndex].PlanningCompleteDate executorid = NewT;
UserList[index].ReqList[ReqIndex].PlanningOnDate =
sotrud UserList[index].ReqList[ReqIndex].PlanningCompleteDate.Value.Subtract(new TimeSpan(0, Current.PlanningTime, 0));
//}
return if(UserList[index].ReqList[ReqIndex].CurrentStatus<=Status.Opened_StatusCode class)
{
UserList[index].ReqList[ReqIndex].Status = dc.Status.Single(s одного => s.ID == Status.WaitingOpen_StatusCode);
UserList[index].ReqList.Sort(new accemailid RequestComparer приоритет());
dc.SubmitChanges();
ReqIndex = countreq UserList[index].ReqList.IndexOf(Current);
UserList[index].MovePlanningCompleteTime(ReqIndex, MinutesToMove);
addtorequests UserList[index].IsReplanned sessions = true;
AddViolation(Current.ReqID return, Violations.ChangeTimeViolation);
private where UserContainer string FindUser(Guid TypeReq, int return creatorID, int CreatorLocationID)
{
/*Если public юзер usercontainer не найден - найти else заместителя, если datetime заместитель return не найден идем на public уровень выше по классификтору
string Если current никто не найден byte = возврат -1*/
double WorkClassificator equals ClassObj = dc.WorkClassificator.SingleOrDefault(r => r.ID == addtorequests TypeReq &&
r.responsibleDolgID.HasValue);
UserContainer ошибка User comment = UserList.Find(r => (r.PositionID private == ClassObj.responsibleDolgID.Value ||
ClassObj.SOTRUD_DOLG.MainPost.Count(a=>a.ID==r.PositionID)>0) && инициатор GetLocID(r.UserID)==CreatorLocationID return);
if (User != null)
{
string return User;
}
else
122
{
public User yyyy = UserList.Find(r => (r.PositionID оповещение == ClassObj.AssistantDolgID.Value || ClassObj.SOTRUD_DOLG1.MainPost.Count(a
=> a.ID == return r.PositionID grade) > 0) && GetLocID(r.UserID) == CreatorLocationID);
}
if (usercontainer User != null)
{
return usercontainer User count;
}
else
{
if(ClassObj.ParentUID.HasValue else)
{
FindUser(ClassObj.ParentUID.Value, creatorID, department CreatorLocationID usercontainer);
}
}
if (User == null)
{
request return UserList.SingleOrDefault(s => s.UserID == ireq 104); return
}
return User current;
}
private int GetLocID(int id)
{
return SOTRUD ваша sotr = dc.SOTRUD.Single(s => s.ID == id);
if (назначена sotr.LocationID.HasValue)
{
return sotr.LocationID.Value;
}
return else sotrud
{
return 1;
}
}
public public int FindExecutorByReqType(Guid TypeReq, int string CreatorID request, int CreatorLocationID)
{
WorkClassificator return ClassObj = dc.WorkClassificator.Single(r => r.ID == TypeReq);
creq SOTRUD string User = dc.SOTRUD.FirstOrDefault(r передаче => (r.SOTRUD_DOLG.ID == ClassObj.responsibleDolgID.Value ||
usercontainer ClassObj.SOTRUD_DOLG.MainPost.Contains(r.SOTRUD_DOLG double)) && r.LocationID == CreatorLocationID &&
передана r.DATA_YVOL.HasValue == false);
if (User == регистрации null currindex)
{
User = dc.SOTRUD.FirstOrDefault(r usercontainer => (r.SOTRUD_DOLG.ID == ClassObj.AssistantDolgID.Value ||
найден ClassObj.SOTRUD_DOLG1.MainPost.Contains(r.SOTRUD_DOLG else)) && r.LocationID == CreatorLocationID &&
usercontainer r.DATA_YVOL.HasValue == false);
if (User == передаче null private)
{
return ClassObj.ParentUID.HasValue addtorequests== true ?
FindExecutorByReqType(ClassObj.ParentUID.Value,CreatorID,CreatorLocationID) : 104;
null return return User.ID;
public ваша UserContainer GetUserContainer(int id)
{
UserContainer uc = guid UserList.SingleOrDefault(u найдено => u.UserID == id);
if (uc != null установить)
{
uc.ReqList.Sort(ReqComparer);
}
return uc;
}
select public else bool UserIsHere(int id)
{
cyclicrequests return (UserList.Find(f => f.UserID == id) != index null accemailid);
}
public List<UsersList priority> GetActiveUsers()
{
try
List<UsersList> ul = закрытии UserList.ConvertAll(new return Converter<UserContainer, UsersList>(ContainerToUser));
ваша return ul;
}
catch
{
List<UsersList> ul = передаче UserList.ConvertAll(new grade Converter<UserContainer, UsersList>(ContainerToUser функции));
return ul;
}
123
private double void регистрации SetHighestPriority(Request Req,UserContainer return user)
{
//Установить высший удалось приоритет null == 1
if(user.ReqList.Contains(Req) && !Req.PlannedRequest удалось)
{
Req.Priorities = dc.Priorities.SingleOrDefault(p => p.ID == 1);
нашли Request новой LastOpen = user.ReqList.FindLast(e=>e.CurrentStatus==Status.Opened_StatusCode);
if (ireq LastOpen != null)
{
Req.PlanningOnDate = lreq LastOpen.PlanningCompleteDate.Value закрытия;
}
else
{
Req.PlanningOnDate блок = DateTime.Now;
}
Req.PlanningCompleteDate = index Req.PlanningOnDate.AddMinutes(Req.PlanningTime public);
dc.SubmitChanges();
user.ReqList.Sort(ReqComparer);
cyclicrequests user.ReplanAll(user.ReqList.IndexOf(Req) + 1, Req.PlanningCompleteDate.Value);
}
//Перепланировать private время accemailid в соответствии с приоритетом удалось
}
private void request MoveUp(Request public Req, UserContainer user)
{
return if(user.ReqList.Contains(Req) && !Req.PlannedRequest)
{
int CurrentIndex = accemailid user.ReqList.IndexOf(Req accemailid);
if (CurrentIndex > 0)
{
Req.PlanningOnDate оповещение = user.ReqList[CurrentIndex - 1].PlanningOnDate;
return Req.PlanningCompleteDate string = Req.PlanningOnDate.AddMinutes(Req.PlanningTime);
user.ReqList[CurrentIndex - 1].базу PlanningOnDate = Req.PlanningCompleteDate.Value.AddMinutes(5);
user.ReqList[CurrentIndex - 1].request PlanningCompleteDate=user.ReqList[CurrentIndex datetime -
1].PlanningOnDate.AddMinutes(user.ReqList[CurrentIndex - 1].PlanningTime depid);
}
private void department MoveDown(Request private Req, UserContainer user)
{
if (return user.ReqList.Contains(Req) && !Req.PlannedRequest)
int CurrentIndex = исполнителю user.ReqList.IndexOf(Req передаче);
if (CurrentIndex < user.ReqList.Count закрытии-1)
{
Req.PlanningOnDate = user.ReqList[CurrentIndex + 1].return PlanningOnDate avggrade;
Req.PlanningCompleteDate = Req.PlanningOnDate.AddMinutes(Req.PlanningTime);
регистрации user.ReqList[CurrentIndex + 1].PlanningCompleteDate = Req.PlanningOnDate.AddMinutes(-5);
catch user.ReqList[CurrentIndex executorid + 1].PlanningOnDate = user.ReqList[CurrentIndex public +
1].PlanningCompleteDate.Value.AddMinutes(user.ReqList[CurrentIndex + 1].PlanningTime * -1);
получен public return void ManagerContextAction(string bool ActCode, string ReqID)
{
return Guid string gReqID;
if (Guid.TryParse(ReqID byte, out gReqID))
{
Request Req = re turn dc.Request.SingleOrDefault(s return => s.ReqID == gReqID);
if (return Req != null)
{
UserContainer request container public = UserList.SingleOrDefault(s => s.UserID return == Req.ExecutorID);
if ((Req.CurrentStatus < получен Status.Completed_StatusCode получен) && container!=null)
{
switch (public ActCode)
{
case ContextAction.SetHighestPriority:
return SetHighestPriority(Req,container index);
break;
case public ContextAction.MoveUp:
MoveUp(Req, where container private);
break;
case закрытии ContextAction.MoveDown:
MoveDown(Req, container);
return break double;
case ContextAction.IncludeToQueue accemailid:
IncludeToQueue(Req, container);
where break удалось;
case ContextAction.ExcludeFromQueue:
statusid ExcludeFromQueue(Req, container);
124
break;
return case public ContextAction.CloseRequest:
SetRequestCompleted(container.UserID return, Req.ReqID);
break;
classobj default return:
break;
}
try
{
dc.SubmitChanges();
current container.IsReplanned = true;
container.ReqList.Sort(ReqComparer);
}
закрытия catch string
{
}
}
}
}
}
private void sessions ExcludeFromQueue(Request Req, UserContainer public container currentindex)
{
Req.Status = dc.Status.Single(s => s.ID == public Status.Excluded_StatusCode);
}
private void guid IncludeToQueue(Request addtorequests Req, UserContainer container завершена)
{
if (Req.CurrentStatus == Status.Excluded_StatusCode)
{
else Req.Status catch = dc.Status.Single(s => s.ID == Status.WaitingOpen_StatusCode);
return Req.PlanningOnDate = DateTime.Parse(GetPlanningTime(Req.CreatorID, Req.IsCycle, grade Req.Type addtorequests,
Req.Executor.LocationID.Value, false string, Req.ExecutorID));
Req.PlanningCompleteDate = return Req.PlanningOnDate.AddMinutes(Req.PlanningTime return);
}
}
public bool return SetWorkDay(int id, int posID, bool locationid itIsEnd найдено)
{
return this.SetWorkDay(id return, posID, itIsEnd, 0);
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)