public void DTO2DB_ImportFactoryBreakdown(DTO.ImportFactoryBreakdown dtoItem, ref FactoryBreakdown dbItem, int userId) { // factory breakdown // remark image foreach (FactoryBreakdownDetail dbDetail in dbItem.FactoryBreakdownDetail.ToArray()) { if (!dtoItem.FactoryBreakdownDetail.Select(o => o.FactoryBreakdownID).Contains(dbDetail.FactoryBreakdownID) && !dtoItem.FactoryBreakdownDetail.Select(o => o.FactoryBreakdownCategoryID).Contains(dbDetail.FactoryBreakdownCategoryID)) { dbItem.FactoryBreakdownDetail.Remove(dbDetail); } } foreach (DTO.ImportFactoryBreakdownDetail dtoDetail in dtoItem.FactoryBreakdownDetail) { FactoryBreakdownDetail dbDetail; var factoryBreakdownDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownID == dtoDetail.FactoryBreakdownID && o.FactoryBreakdownCategoryID == dtoDetail.FactoryBreakdownCategoryID); if (factoryBreakdownDetail == null) { dbDetail = new FactoryBreakdownDetail(); dbItem.FactoryBreakdownDetail.Add(dbDetail); } else { dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownID == dtoDetail.FactoryBreakdownID && o.FactoryBreakdownCategoryID == dtoDetail.FactoryBreakdownCategoryID); } //if (dtoDetail.FactoryBreakdownDetailID <= 0) //{ // dbDetail = new FactoryBreakdownDetail(); // dbItem.FactoryBreakdownDetail.Add(dbDetail); //} //else //{ // dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownDetailID == dtoDetail.FactoryBreakdownDetailID); //} if (dbDetail != null) { // change dbDetail.Quantity = dtoDetail.Quantity; dbDetail.UnitNM = dtoDetail.UnitNM; //AutoMapper.Mapper.Map<DTO.ImportFactoryBreakdownDetail, FactoryBreakdownDetail>(dtoDetail, dbDetail); } } // factory breakdown dbItem.UpdatedBy = userId; dbItem.UpdatedDate = DateTime.Now; dbItem.IndicatedPrice = dtoItem.IndicatedPrice; dbItem.CushionDimensionH = dtoItem.CushionDimensionH; dbItem.CushionDimensionL = dtoItem.CushionDimensionL; dbItem.CushionDimensionW = dtoItem.CushionDimensionW; dbItem.PackingDimensionH = dtoItem.PackingDimensionH; dbItem.PackingDimensionL = dtoItem.PackingDimensionL; dbItem.PackingDimensionW = dtoItem.PackingDimensionW; dbItem.Remark = dtoItem.Remark; dbItem.IsConfirmed = true; dbItem.ConfirmedBy = userId; dbItem.ConfirmedDate = DateTime.Now; }
public override bool Approve(int userId, int id, ref object dtoItem, out Library.DTO.Notification notification) { notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; try { using (FactoryBreakdownMngEntities context = CreateContext()) { FactoryBreakdown dbItem = context.FactoryBreakdown.FirstOrDefault(o => o.FactoryBreakdownID == id); if (dbItem == null) { notification.Message = "Factory breakdown not found!"; return(false); } else { // check data access permission if (dbItem.SampleProductID.HasValue) { if (CheckSamplePermission(userId, dbItem.SampleProductID.Value) <= 0) { throw new Exception("Data access not authorized!"); } } //else //{ // throw new Exception("Invalid sample product data! (id null)"); //} // validate data if (!dbItem.IndicatedPrice.HasValue || dbItem.IndicatedPrice <= 0) { throw new Exception("Invalid indicated price!"); } FactoryBreakdownDetail dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownCategoryID == 11); // load ability if (dbDetail == null || !dbDetail.Quantity.HasValue || dbDetail.Quantity <= 0) { throw new Exception("Invalid load ability!"); } dbItem.IsConfirmed = true; dbItem.ConfirmedBy = userId; dbItem.ConfirmedDate = DateTime.Now; context.SaveChanges(); return(true); } } } catch (Exception ex) { notification = new Library.DTO.Notification() { Message = ex.Message, Type = Library.DTO.NotificationType.Error }; return(false); } }
public void DTO2DB_FactoryBreakdown(DTO.FactoryBreakdownDTO dtoItem, ref FactoryBreakdown dbItem, int userId) { // factory breakdown dbItem.UpdatedBy = userId; dbItem.UpdatedDate = DateTime.Now; // remark image foreach (FactoryBreakdownDetail dbDetail in dbItem.FactoryBreakdownDetail.ToArray()) { if (!dtoItem.FactoryBreakdownDetailDTOs.Select(o => o.FactoryBreakdownDetailID).Contains(dbDetail.FactoryBreakdownDetailID)) { dbItem.FactoryBreakdownDetail.Remove(dbDetail); } } foreach (DTO.FactoryBreakdownDetailDTO dtoDetail in dtoItem.FactoryBreakdownDetailDTOs) { FactoryBreakdownDetail dbDetail; if (dtoDetail.FactoryBreakdownDetailID <= 0) { dbDetail = new FactoryBreakdownDetail(); dbItem.FactoryBreakdownDetail.Add(dbDetail); } else { dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownDetailID == dtoDetail.FactoryBreakdownDetailID); } if (dbDetail != null) { // change AutoMapper.Mapper.Map <DTO.FactoryBreakdownDetailDTO, FactoryBreakdownDetail>(dtoDetail, dbDetail); } } // remark image foreach (FactoryBreakdownModel dbModel in dbItem.FactoryBreakdownModel.ToArray()) { if (!dtoItem.FactoryBreakdownModels.Select(o => o.FactoryBreakdownModelID).Contains(dbModel.FactoryBreakdownModelID)) { dbItem.FactoryBreakdownModel.Remove(dbModel); } } foreach (DTO.FactoryBreakdownModelDTO dtoModel in dtoItem.FactoryBreakdownModels) { FactoryBreakdownModel dbModel; if (dtoModel.FactoryBreakdownModelID <= 0) { dbModel = new FactoryBreakdownModel(); dbItem.FactoryBreakdownModel.Add(dbModel); } else { dbModel = dbItem.FactoryBreakdownModel.FirstOrDefault(o => o.FactoryBreakdownModelID == dtoModel.FactoryBreakdownModelID); } if (dbModel != null) { // change AutoMapper.Mapper.Map <DTO.FactoryBreakdownModelDTO, FactoryBreakdownModel>(dtoModel, dbModel); } } // change AutoMapper.Mapper.Map <DTO.FactoryBreakdownDTO, FactoryBreakdown>(dtoItem, dbItem); }