public void DTO2DB_DefaultCategory(DTO.ProductBreakDownDefaultCategoryPALData dtoItem, ref ProductBreakDownDefaultCategoryPAL dbItem) { AutoMapper.Mapper.Map <DTO.ProductBreakDownDefaultCategoryPALData, ProductBreakDownDefaultCategoryPAL>(dtoItem, dbItem); }
public object UpdateData(int userID, System.Collections.Hashtable filters, out Library.DTO.Notification notification) { notification = new Library.DTO.Notification(); notification.Type = Library.DTO.NotificationType.Success; int getTypeID = (filters.ContainsKey("getTypeSearch") && filters["getTypeSearch"] != null && !string.IsNullOrEmpty(filters["getTypeSearch"].ToString().Trim())) ? Convert.ToInt32(filters["getTypeSearch"].ToString().Trim()) : 0; DTO.EditFormData data = new DTO.EditFormData(getTypeID); try { using (var context = CreateContext()) { if (getTypeID == 1) { int id = (filters.ContainsKey("id") && filters["id"] != null && !string.IsNullOrEmpty(filters["id"].ToString().Trim())) ? Convert.ToInt32(filters["id"].ToString().Trim()) : 0; DTO.ProductBreakDownDefaultCategoryPALData dtoItem = ((Newtonsoft.Json.Linq.JObject)filters["dataView"]).ToObject <DTO.ProductBreakDownDefaultCategoryPALData>(); ProductBreakDownDefaultCategoryPAL dbItem; if (id == 0) { dbItem = new ProductBreakDownDefaultCategoryPAL(); context.ProductBreakDownDefaultCategoryPAL.Add(dbItem); } else { dbItem = context.ProductBreakDownDefaultCategoryPAL.FirstOrDefault(o => o.ProductBreakDownDefaultCategoryID == id); } if (dbItem == null) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = "Can not found data!"; return(data); } converter.DTO2DB_DefaultCategory(dtoItem, ref dbItem); if (id == 0) { dbItem.CreatedBy = userID; dbItem.CreatedDate = DateTime.Now; } dbItem.UpdatedBy = userID; dbItem.UpdatedDate = DateTime.Now; context.SaveChanges(); filters["id"] = dbItem.ProductBreakDownDefaultCategoryID; return(GetData(userID, filters, out notification)); } if (getTypeID == 2) { int id = (filters.ContainsKey("id") && filters["id"] != null && !string.IsNullOrEmpty(filters["id"].ToString().Trim())) ? Convert.ToInt32(filters["id"].ToString().Trim()) : 0; DTO.ProductBreakDownPALData dtoItem = ((Newtonsoft.Json.Linq.JObject)filters["dataView"]).ToObject <DTO.ProductBreakDownPALData>(); ProductBreakDownPAL dbItem; if (id == 0) { dbItem = new ProductBreakDownPAL(); context.ProductBreakDownPAL.Add(dbItem); } else { dbItem = context.ProductBreakDownPAL.FirstOrDefault(o => o.ProductBreakDownID == id); } if (dbItem == null) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = "Can not find data"; return(null); } //convert data converter.DTO2DB_ProductBreakDownPAL2(dtoItem, ref dbItem, FrameworkSetting.Setting.AbsoluteUserTempFolder + userID.ToString() + @"\", userID); //create product for model default option var modelDefaultOption = dtoItem.ModelDefaultOption; if (modelDefaultOption != null) { if (!modelDefaultOption.ProductID.HasValue) //create product incase not exist { if (!modelDefaultOption.ArticleCode.Contains("*")) { Product dbProduct = new Product(); context.Product.Add(dbProduct); dbItem.Product = dbProduct; dbProduct.ArticleCode = modelDefaultOption.ArticleCode; dbProduct.Description = modelDefaultOption.Description; dbProduct.ModelID = modelDefaultOption.ModelID; dbProduct.FrameMaterialID = modelDefaultOption.FrameMaterialID; dbProduct.FrameMaterialColorID = modelDefaultOption.FrameMaterialColorID; dbProduct.MaterialID = modelDefaultOption.MaterialID; dbProduct.MaterialTypeID = modelDefaultOption.MaterialTypeID; dbProduct.MaterialColorID = modelDefaultOption.MaterialColorID; dbProduct.SubMaterialID = modelDefaultOption.SubMaterialID; dbProduct.SubMaterialColorID = modelDefaultOption.SubMaterialColorID; dbProduct.SeatCushionID = modelDefaultOption.SeatCushionID; dbProduct.BackCushionID = modelDefaultOption.BackCushionID; dbProduct.CushionColorID = modelDefaultOption.CushionColorID; dbProduct.FSCTypeID = modelDefaultOption.FSCTypeID; dbProduct.FSCPercentID = modelDefaultOption.FSCPercentID; } } else { dbItem.ProductID = modelDefaultOption.ProductID; } } //tracking value dbItem.UpdatedBy = userID; dbItem.UpdatedDate = DateTime.Now; context.ProductBreakDownDetailPAL.Local.Where(o => o.ProductBreakDownCategoryTypePAL == null).ToList().ForEach(o => context.ProductBreakDownDetailPAL.Remove(o)); context.ProductBreakDownCategoryTypePAL.Local.Where(o => o.ProductBreakDownCategoryPAL == null).ToList().ForEach(o => context.ProductBreakDownCategoryTypePAL.Remove(o)); context.ProductBreakDownCategoryImagePAL.Local.Where(o => o.ProductBreakDownCategoryPAL == null).ToList().ForEach(o => context.ProductBreakDownCategoryImagePAL.Remove(o)); context.ProductBreakDownCategoryPAL.Local.Where(o => o.ProductBreakDownPAL == null).ToList().ForEach(o => context.ProductBreakDownCategoryPAL.Remove(o)); //save data context.SaveChanges(); //reload data filters["id"] = dbItem.ProductBreakDownID; return(GetData(userID, filters, out notification)); } } } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = Library.Helper.GetInnerException(ex).Message; } return(data); }