// // CUSTOM FUNCTION // public DTO.EditFormData GetData(int iRequesterID, int id, out Library.DTO.Notification notification) { using (var context = CreateContext()) { context.FactoryMng2_InsertDataForFactoryCaspacity_Function(); } notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; DTO.EditFormData data = new DTO.EditFormData(); data.Data = new DTO.Factory(); data.Data.FactoryImages = new List <DTO.FactoryImage>(); data.Data.FactoryBusinessCard = new List <DTO.FactoryBusinessCard>(); data.Data.FactoryCertificates = new List <DTO.FactoryCertificate>(); data.Data.FactoryTurnovers = new List <DTO.FactoryTurnover>(); data.Data.FactoryExpectedCapacities = new List <DTO.FactoryExpectedCapacity>(); data.Data.factoryCapacityByWeeks = new List <DTO.FactoryCapacityByWeek>(); data.Employees = new List <Support.DTO.Employee>(); data.EmployeeDepartmentDTOs = new List <DTO.EmployeeDepartmentDTO>(); data.FactoryRawMaterialSupplierList = new List <DTO.FactoryRawMaterialSupplier>(); data.SupplierList = new List <DTO.Supplier>(); data.Locations = new List <Support.DTO.FactoryLocation>(); data.Data.AppointmentDTOs = new List <DTO.AppointmentDTO>(); data.Data.weekInforRangeDTOs = new List <DTO.WeekInforRangeDTO>(); data.Data.factoryDocuments = new List <DTO.FactoryDocumentDTO>(); data.ProductGroupDTOs = new List <DTO.ProductGroupDTO>(); data.Data.FactoryProductGroupDTOs = new List <DTO.FactoryProductGroupDTO>(); data.UsersDTO = new List <DTO.UsersDTO>(); //try to get data try { if (id > 0) { //check permission on factory if (!fwFactory.CanPerformAction(iRequesterID, "FactoryMng2", Library.DTO.ModuleAction.CanCreate)) { if (fwFactory.CheckFactoryPermission(iRequesterID, id) == 0) { throw new Exception("You do not have access permission on this factory"); } } using (FactoryMng2Entities context = CreateContext()) { var factory = context.FactoryMng2_Factory_View.FirstOrDefault(o => o.FactoryID == id); if (factory == null) { throw new Exception("Can not found the factory to edit"); } data.Data = converter.DB2DTO_Factory(factory); data.Data.factoryCapacityByWeeks = converter.DB2DTO_GetSeasonByWeeks(context.FactoryMng2_function_FactoryCapacityByWeek(id).ToList()); } } else { // Set default status option = yes. data.Data.IsActive = true; } data.Employees = supportFactory.GetEmployee().ToList(); data.FactoryRawMaterialSupplierList = GetFactoryRawMaterialSupplierList(); data.SupplierList = GetSupplierList(); data.EmployeeDepartmentDTOs = GetEmployeeDepartmentDTOs(); data.Locations = supportFactory.GetFactoryLocation(); data.ProductGroupDTOs = GetProductGroupList(); using (var context = CreateContext()) { data.Data.weekInforRangeDTOs = converter.DB2DTO_WeeKInforRange(context.FactoryMng2_WeekInforRange_View.ToList()); data.UsersDTO = converter.DB2DTO_User2(context.SupportMng_User2_View.ToList()); } } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = ex.Message; } return(data); }