public object UpdateData(int userID, Hashtable filters, out Library.DTO.Notification notification) { notification = new Library.DTO.Notification(); notification.Type = Library.DTO.NotificationType.Success; try { Framework.DAL.DataFactory fwFactory = new Framework.DAL.DataFactory(); int id = (filters.ContainsKey("id") && filters["id"] != null && !string.IsNullOrEmpty(filters["id"].ToString())) ? Convert.ToInt32(filters["id"].ToString()) : 0; List <DTO.ProductionIssueData> dataItem = filters.ContainsKey("view") && filters["view"] != null && !string.IsNullOrEmpty(filters["view"].ToString().Trim()) ? ((Newtonsoft.Json.Linq.JArray)filters["view"]).ToObject <List <DTO.ProductionIssueData> >() : null; using (var context = CreateContext()) { if (dataItem == null || dataItem.Count == 0) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = "Can not update data with array is null!"; return(null); } foreach (DTO.ProductionIssueData dtoItem in dataItem) { DeliveryNote dbItem = new DeliveryNote(); context.DeliveryNote.Add(dbItem); converter.DTO2DB_DeliveryNote(dtoItem, ref dbItem); dbItem.DeliveryNoteDate = DateTime.Now; dbItem.CompanyID = fwFactory.GetCompanyID(userID); dbItem.UpdatedBy = userID; dbItem.UpdatedDate = DateTime.Now; dbItem.ViewName = "Warehouse2Team"; dbItem.ToProductionTeamID = dtoItem.ToProductionTeamID; context.SaveChanges(); context.DeliveryNoteMng_function_GenerateDeliveryNoteUD(dbItem.DeliveryNoteID, dbItem.CompanyID, dbItem.DeliveryNoteDate.Value.Year, dbItem.DeliveryNoteDate.Value.Month); } } } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = Library.Helper.GetInnerException(ex).Message; } return(null); }
public void DTO2DB_DeliveryNote(DTO.ProductionIssueData dtoItem, ref DeliveryNote dbItem) { AutoMapper.Mapper.Map <DTO.ProductionIssueData, DeliveryNote>(dtoItem, dbItem); foreach (var dtoDetail in dtoItem.ProductionIssueDetail) { if (dtoDetail.IssueQuantity != null) { DeliveryNoteDetail dbItemDetail; dbItemDetail = new DeliveryNoteDetail(); dbItem.DeliveryNoteDetail.Add(dbItemDetail); dbItemDetail.FromFactoryWarehouseID = dtoDetail.FromFactoryWarehouseID; dbItemDetail.Qty = dtoDetail.IssueQuantity; dbItemDetail.WorkOrderID = dtoItem.WorkOrderID; dbItemDetail.BOMID = dtoItem.BOMID; dbItemDetail.ProductionItemID = dtoDetail.ProductionItemID; } } }