public ActionResult Edit(string plant, string facode, string stickercode) { if (CurrentUser.UserRole == Enums.UserRole.Viewer || CurrentUser.UserRole == Enums.UserRole.Controller) { return(RedirectToAction("Details", new { plant, facode, stickercode })); } var model = new BrandRegistrationEditViewModel(); var dbBrand = _brandRegistrationBll.GetById(plant, facode, stickercode); if (dbBrand.IS_DELETED.HasValue && dbBrand.IS_DELETED.Value) { return(RedirectToAction("Details", "BrandRegistration", new { plant = dbBrand.WERKS, facode = dbBrand.FA_CODE, stickercode = dbBrand.STICKER_CODE })); } model = Mapper.Map <BrandRegistrationEditViewModel>(dbBrand); model.HjeValueStr = model.HjeValue == null ? string.Empty : model.HjeValue.ToString(); model.TariffValueStr = model.Tariff == null ? string.Empty : model.Tariff.ToString(); model.ConversionValueStr = model.Conversion == null ? string.Empty : model.Conversion.ToString(); model.PrintingPriceValueStr = model.PrintingPrice == null ? string.Empty : model.PrintingPrice.ToString(); model.PersonalizationCodeDescription = _masterBll.GetPersonalizationDescById(model.PersonalizationCode); var materialData = _materialBll.GetByPlantIdAndStickerCode(model.PlantId, model.FaCode); model.SAPBrandDescription = materialData != null ? materialData.MATERIAL_DESC : string.Empty; model = InitEdit(model); model.IsAllowDelete = !model.IsFromSAP; return(View(model)); }
private BrandRegistrationEditViewModel InitEdit(BrandRegistrationEditViewModel model) { model.MainMenu = _mainMenu; model.CurrentMenu = PageInfo; model.StickerCodeList = GlobalFunctions.GetStickerCodeList(); model.PlantList = GlobalFunctions.GetVirtualPlantList(); model.PersonalizationCodeList = GlobalFunctions.GetPersonalizationCodeList(); model.CutFillerCodeList = GlobalFunctions.GetCutFillerCodeList(model.PlantId); model.ProductCodeList = GlobalFunctions.GetProductCodeList(_productBll); model.SeriesList = GlobalFunctions.GetSeriesCodeList(_masterBll); model.MarketCodeList = GlobalFunctions.GetMarketCodeList(_masterBll); model.CountryCodeList = GlobalFunctions.GetCountryList(); model.HjeCurrencyList = GlobalFunctions.GetCurrencyList(); model.TariffCurrencyList = GlobalFunctions.GetCurrencyList(); model.GoodTypeList = GlobalFunctions.GetGoodTypeList(_goodTypeBll); model.BahanKemasanList = GlobalFunctions.GetBahanKemasanList(_brandRegistrationBll); return(model); }
private void SetChangesLog(ZAIDM_EX_BRAND origin, BrandRegistrationEditViewModel updatedModel) { var changesData = new Dictionary <string, bool>(); updatedModel.HjeValue = updatedModel.HjeValueStr == null ? 0: Convert.ToDecimal(updatedModel.HjeValueStr); updatedModel.Tariff = updatedModel.TariffValueStr == null ? 0 : Convert.ToDecimal(updatedModel.TariffValueStr); updatedModel.Conversion = updatedModel.ConversionValueStr == null ? 0 : Convert.ToDecimal(updatedModel.ConversionValueStr); updatedModel.PrintingPrice = updatedModel.PrintingPriceValueStr == null ? 0 : Convert.ToDecimal(updatedModel.PrintingPriceValueStr); if (origin.IS_FROM_SAP.HasValue == false || origin.IS_FROM_SAP.Value == false) { changesData.Add("FACode", origin.FA_CODE == updatedModel.FaCode); changesData.Add("PersonalizationCode", origin.PER_CODE == updatedModel.PersonalizationCode); changesData.Add("BrandName", origin.BRAND_CE == updatedModel.BrandName); changesData.Add("SkepNo", origin.SKEP_NO == updatedModel.SkepNo); changesData.Add("SkepDate", origin.SKEP_DATE == updatedModel.SkepDate); changesData.Add("ProductCode", origin.PROD_CODE == updatedModel.ProductCode); changesData.Add("SeriesId", origin.SERIES_CODE == updatedModel.SeriesId); changesData.Add("Content", origin.BRAND_CONTENT == updatedModel.Content); changesData.Add("MarketId", origin.MARKET_ID == updatedModel.MarketId); changesData.Add("CountryId", origin.COUNTRY == updatedModel.CountryId); changesData.Add("HjeValue", origin.HJE_IDR == updatedModel.HjeValue); changesData.Add("HjeCurrency", origin.HJE_CURR == updatedModel.HjeCurrency); changesData.Add("Tariff", origin.TARIFF == updatedModel.Tariff); changesData.Add("TariffCurrency", origin.TARIF_CURR == updatedModel.TariffCurrency); changesData.Add("ColourName", origin.COLOUR == updatedModel.ColourName); changesData.Add("GoodType", origin.EXC_GOOD_TYP == updatedModel.GoodType); changesData.Add("StartDate", origin.START_DATE == updatedModel.StartDate); changesData.Add("EndDate", origin.END_DATE == updatedModel.EndDate); changesData.Add("Status", origin.STATUS == updatedModel.IsActive); } changesData.Add("Conversion", origin.CONVERSION == updatedModel.Conversion); changesData.Add("CutFilterCode", origin.CUT_FILLER_CODE == updatedModel.CutFillerCode); changesData.Add("PRINTING_PRICE", origin.PRINTING_PRICE == updatedModel.PrintingPrice); changesData.Add("BahanKemasan", origin.BAHAN_KEMASAN == updatedModel.BahanKemasan); foreach (var listChange in changesData) { if (listChange.Value) { continue; } var changes = new CHANGES_HISTORY(); changes.FORM_TYPE_ID = Enums.MenuList.BrandRegistration; changes.FORM_ID = origin.WERKS + origin.FA_CODE + origin.STICKER_CODE; changes.FIELD_NAME = listChange.Key; changes.MODIFIED_BY = CurrentUser.USER_ID; changes.MODIFIED_DATE = DateTime.Now; switch (listChange.Key) { case "STICKER_CODE": changes.OLD_VALUE = origin.STICKER_CODE ?? null; changes.NEW_VALUE = updatedModel.StickerCode ?? null; break; case "PlantId": changes.OLD_VALUE = _plantBll.GetPlantWerksById(origin.WERKS); changes.NEW_VALUE = _plantBll.GetPlantWerksById(updatedModel.PlantId); break; case "FACode": changes.OLD_VALUE = origin.FA_CODE; changes.NEW_VALUE = updatedModel.FaCode; break; case "PersonalizationCode": changes.OLD_VALUE = _masterBll.GetPersonalizationDescById(origin.PER_CODE); changes.NEW_VALUE = _masterBll.GetPersonalizationDescById(updatedModel.PersonalizationCode); break; case "BrandName": changes.OLD_VALUE = origin.BRAND_CE; changes.NEW_VALUE = updatedModel.BrandName; break; case "SkepNo": changes.OLD_VALUE = origin.SKEP_NO; changes.NEW_VALUE = updatedModel.SkepNo; break; case "SkepDate": changes.OLD_VALUE = origin.SKEP_DATE == null ? string.Empty : Convert.ToDateTime(origin.SKEP_DATE).ToString("dd MMM yyyy"); changes.NEW_VALUE = updatedModel.SkepDate.ToString("dd MMM yyyy"); break; case "ProductCode": changes.OLD_VALUE = _masterBll.GetProductCodeTypeDescById(origin.PROD_CODE); changes.NEW_VALUE = _masterBll.GetProductCodeTypeDescById(updatedModel.ProductCode); break; case "SeriesId": changes.OLD_VALUE = _masterBll.GetDataSeriesDescById(origin.SERIES_CODE).ToString(); changes.NEW_VALUE = _masterBll.GetDataSeriesDescById(updatedModel.SeriesId).ToString(); break; case "Content": changes.OLD_VALUE = origin.BRAND_CONTENT == null ? string.Empty : origin.BRAND_CONTENT.ToString(); changes.NEW_VALUE = updatedModel.Content == null? string.Empty : updatedModel.Content.ToString(); break; case "MarketId": changes.OLD_VALUE = _masterBll.GetMarketDescById(origin.MARKET_ID); changes.NEW_VALUE = _masterBll.GetMarketDescById(updatedModel.MarketId); break; case "CountryId": changes.OLD_VALUE = origin.COUNTRY; changes.NEW_VALUE = updatedModel.CountryId; break; case "HjeValue": changes.OLD_VALUE = origin.HJE_IDR.ToString(); changes.NEW_VALUE = updatedModel.HjeValue.ToString(); break; case "HjeCurrency": changes.OLD_VALUE = origin.HJE_CURR; changes.NEW_VALUE = updatedModel.HjeCurrency; break; case "Tariff": changes.OLD_VALUE = origin.TARIFF.ToString(); changes.NEW_VALUE = updatedModel.Tariff.ToString(); break; case "TariffCurrency": changes.OLD_VALUE = origin.TARIF_CURR; changes.NEW_VALUE = updatedModel.TariffCurrency; break; case "ColourName": changes.OLD_VALUE = origin.COLOUR; changes.NEW_VALUE = updatedModel.ColourName; break; case "GoodType": changes.OLD_VALUE = _goodTypeBll.GetGoodTypeDescById(origin.EXC_GOOD_TYP); changes.NEW_VALUE = _goodTypeBll.GetGoodTypeDescById(updatedModel.GoodType); break; case "StartDate": changes.OLD_VALUE = origin.START_DATE.HasValue ? origin.START_DATE.Value.ToString("dd MMM yyyy") : string.Empty; changes.NEW_VALUE = updatedModel.StartDate.HasValue? updatedModel.StartDate.Value.ToString("dd MMM yyyy") : string.Empty; break; case "EndDate": changes.OLD_VALUE = origin.END_DATE.HasValue ? origin.END_DATE.Value.ToString("dd MMM yyyy"): string.Empty; changes.NEW_VALUE = updatedModel.EndDate.HasValue ? updatedModel.EndDate.Value.ToString("dd MMM yyyy"): string.Empty; break; case "Conversion": changes.OLD_VALUE = origin.CONVERSION.ToString(); changes.NEW_VALUE = updatedModel.Conversion.ToString(); break; case "CutFilterCode": changes.OLD_VALUE = origin.CUT_FILLER_CODE; changes.NEW_VALUE = updatedModel.CutFillerCode; break; case "Status": changes.OLD_VALUE = origin.STATUS.ToString(); changes.NEW_VALUE = updatedModel.IsActive.ToString(); break; case "PRINTING_PRICE": changes.OLD_VALUE = origin.PRINTING_PRICE.ToString(); changes.NEW_VALUE = updatedModel.PrintingPrice.ToString(); break; case "BahanKemasan": changes.OLD_VALUE = origin.BAHAN_KEMASAN; changes.NEW_VALUE = updatedModel.BahanKemasan; break; } _changesHistoryBll.AddHistory(changes); } }
public ActionResult Edit(BrandRegistrationEditViewModel model) { ZAIDM_EX_BRAND dbBrand = null; bool isApprovalExist; try { dbBrand = _brandRegistrationBll.GetById(model.PlantId, model.FaCode, model.StickerCode); } catch (Exception ex) { dbBrand = null; } var oldDbBrand = Mapper.Map <BrandRegistrationEditViewModel>(dbBrand); var oldObject = Mapper.Map <ZAIDM_EX_BRAND>(oldDbBrand); if (dbBrand == null) { ModelState.AddModelError("BrandName", "Data Not Found redirected to create form"); var modelCreate = Mapper.Map <BrandRegistrationCreateViewModel>(model); modelCreate = InitCreate(modelCreate); return(View("Create", modelCreate)); } SetChangesLog(dbBrand, model); //if (dbBrand.IS_FROM_SAP.HasValue && dbBrand.IS_FROM_SAP.Value) //{ // dbBrand.PRINTING_PRICE = model.PrintingPrice; // dbBrand.CONVERSION = model.Conversion; // dbBrand.CUT_FILLER_CODE = model.CutFillerCode; // dbBrand.STATUS = model.IsActive; //} //else Mapper.Map(model, dbBrand); dbBrand.HJE_IDR = model.HjeValueStr == null ? (decimal?)null : Convert.ToDecimal(model.HjeValueStr); dbBrand.TARIFF = model.TariffValueStr == null ? (decimal?)null : Convert.ToDecimal(model.TariffValueStr); dbBrand.CONVERSION = model.ConversionValueStr == null ? (decimal?)null : Convert.ToDecimal(model.ConversionValueStr); dbBrand.PRINTING_PRICE = model.PrintingPriceValueStr == null ? (decimal?)null : Convert.ToDecimal(model.PrintingPriceValueStr); dbBrand.FA_CODE = model.FaCode.Trim(); dbBrand.STICKER_CODE = model.StickerCode.Trim(); dbBrand.BAHAN_KEMASAN = string.IsNullOrEmpty(model.BahanKemasan) ? null : model.BahanKemasan.Trim(); //dbBrand.PACKED_ADJUSTED = model.IsPackedAdjusted; //dbBrand.BRAND_CE = model.BrandName; //dbBrand.IS_FROM_SAP = model.IsFromSAP; //dbBrand.CREATED_BY = CurrentUser.USER_ID; if (!string.IsNullOrEmpty(model.PersonalizationCodeDescription)) { dbBrand.PER_CODE_DESC = model.PersonalizationCodeDescription; } var materialData = _materialBll.GetByPlantIdAndStickerCode(model.PlantId, model.FaCode); if (materialData == null) { AddMessageInfo("Fa code and plant not registered on Material Master.", Enums.MessageInfoType.Error); model = InitEdit(model); return(View("Edit", model)); } try { MASTER_DATA_APPROVAL approvalData; dbBrand = _masterDataAprovalBLL.MasterDataApprovalValidation((int)Enums.MenuList.BrandRegistration, CurrentUser.USER_ID, oldObject, dbBrand, out isApprovalExist, out approvalData); _brandRegistrationBll.Save(dbBrand); _masterDataAprovalBLL.SendEmailWorkflow(approvalData.APPROVAL_ID); AddMessageInfo(Constans.SubmitMessage.Updated, Enums.MessageInfoType.Success); return(RedirectToAction("Index")); } catch (Exception ex) { AddMessageInfo(ex.Message, Enums.MessageInfoType.Error); } model = InitEdit(model); return(View("Edit", model)); }