/// <summary> /// Добавление и редактирование Отделов и подписантов к ним /// </summary> /// <param name="department"></param> /// <returns></returns> public async Task <DepartamentOtdel> AddAndEditDepartment(DepartamentOtdel department) { return(await Task.Factory.StartNew(() => { AddAllObjectDb add = new AddAllObjectDb(); var model = add.AddAndEditDepartment(department); add.Dispose(); if (model == null) { return null; } SerializeJson json = new SerializeJson(); SignalRLibraryAutomations.ConnectAutomations.HubAutomations.SubscribeDepartmentSender(json.JsonLibaryIgnoreDate(model)); return model; })); }
/// <summary> /// Добавление или редактирование подписанта на отделе /// </summary> /// <param name="department">Отдел и подписант</param> /// <returns></returns> public DepartamentOtdel AddAndEditDepartment(DepartamentOtdel department) { var departmentAddAndModified = new DepartamentOtdel() { Id = department.Id, IdSender = department.IdSender, NameDepartament = department.NameDepartament, NameDepartamentActiveDerectory = department.NameDepartamentActiveDerectory, StatusFace = department.StatusFace, Office = department.Office, Telephon = department.Telephon }; try { using (var context = new Base.Automation()) { var modelDb = from dep in context.DepartamentOtdels where dep.Id == department.Id select new { DepartamentOtdel = dep }; if (modelDb.Any()) { AutomationContext.Entry(departmentAddAndModified).State = System.Data.Entity.EntityState.Modified; AutomationContext.SaveChanges(); return(department); } } AutomationContext.DepartamentOtdels.Add(departmentAddAndModified); AutomationContext.SaveChanges(); department.Id = departmentAddAndModified.Id; return(department); } catch (Exception e) { Loggers.Log4NetLogger.Error(e); return(null); } }