public ActionResult Create(PoaMapDetailViewModel model)
        {
            try
            {
                // TODO: Add insert logic here
                bool isExistApproval;
                var  existingData = _poaMapBLL.GetByNppbckId(model.PoaMap.NPPBKC_ID, model.PoaMap.WERKS, model.PoaMap.POA_ID);
                if (existingData != null)
                {
                    AddMessageInfo("data already exist", Enums.MessageInfoType.Warning);
                    return(RedirectToAction("Create"));
                }
                var data = Mapper.Map <POA_MAP>(model.PoaMap);
                data.CREATED_BY   = CurrentUser.USER_ID;
                data.CREATED_DATE = DateTime.Now;
                MASTER_DATA_APPROVAL approvalData;
                _masterDataAprovalBLL.MasterDataApprovalValidation((int)Enums.MenuList.POAMap, CurrentUser.USER_ID,
                                                                   new POA_MAP(), data, out isExistApproval, out approvalData, true);

                _masterDataAprovalBLL.SendEmailWorkflow(approvalData.APPROVAL_ID);
                //_poaMapBLL.Save(data);

                AddMessageInfo(Constans.SubmitMessage.Saved, Enums.MessageInfoType.Success);
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                AddMessageInfo(ex.Message, Enums.MessageInfoType.Error);
                model.CurrentMenu = PageInfo;
                model.MainMenu    = _mainMenu;
                model.NppbckIds   = GlobalFunctions.GetNppbkcAll(_nppbkcbll);
                model.Plants      = GlobalFunctions.GetPlantAll();
                model.POAs        = GlobalFunctions.GetPoaAll(_poabll);

                return(View(model));
            }
        }
示例#2
0
        public List <MASTER_DATA_APPROVAL_DETAIL> GetObjectDetails(string formId, int pageId)
        {
            PropertyInfo propInfo;
            var          page          = _pageBLL.GetPageByID(pageId);
            var          tableDetails  = _repository.GetTableDetail(page.MAIN_TABLE);
            var          returnDetails = new List <MASTER_DATA_APPROVAL_DETAIL>();
            object       data          = null;

            if (pageId == (int)Enums.MenuList.BrandRegistration)
            {
                var tempId      = formId.Split('-');
                var werks       = tempId[0];
                var facode      = tempId[1];
                var stickerCode = tempId[2];

                data = _brandRegistrationBLL.GetByPlantIdAndFaCodeStickerCode(werks, facode, stickerCode);
            }
            else if (pageId == (int)Enums.MenuList.POA)
            {
                data = _poaBll.GetById(formId);
            }
            else if (pageId == (int)Enums.MenuList.POAMap)
            {
                var tempId  = formId.Split('-');
                var poaId   = tempId[0];
                var nppbkc  = tempId[1];
                var plantid = tempId[2];

                data = _poaMapBLL.GetByNppbckId(nppbkc, plantid, poaId);
            }
            else if (pageId == (int)Enums.MenuList.MaterialMaster)
            {
                var tempId         = formId.Split('-');
                var werks          = tempId[0];
                var materialnumber = tempId[1];
                var tempdata       = _materialBLL.GetByMaterialAndPlantId(materialnumber, werks);

                data = Mapper.Map <MaterialDto>(tempdata);
            }

            if (data != null)
            {
                foreach (var detail in tableDetails)
                {
                    if (detail.Documentation == null)
                    {
                        continue;
                    }

                    var detailTable = new MASTER_DATA_APPROVAL_DETAIL();
                    //propInfo = typeof(ZAIDM_EX_BRAND).GetProperty(detail.PropertyName);
                    detailTable.COLUMN_NAME        = detail.PropertyName;
                    detailTable.COLUMN_DESCRIPTION = detail.Documentation.LongDescription;
                    var propValue = data.GetType().GetProperty(detail.PropertyName).GetValue(data);
                    if (propValue != null)
                    {
                        detailTable.OLD_VALUE = propValue.ToString();
                    }
                    else
                    {
                        detailTable.OLD_VALUE = string.Empty;
                    }


                    returnDetails.Add(detailTable);
                }

                if (pageId == (int)Enums.MenuList.MaterialMaster)
                {
                    returnDetails.Add(new MASTER_DATA_APPROVAL_DETAIL()
                    {
                        COLUMN_NAME        = "CONVERTION",
                        COLUMN_DESCRIPTION = "Convertion",
                        OLD_VALUE          = ((MaterialDto)data).CONVERTION
                    });
                }
                if (pageId == (int)Core.Enums.MenuList.BrandRegistration)
                {
                    var dataBrand    = (ZAIDM_EX_BRAND)data;
                    var dataMaterial = _materialBLL.GetByMaterialAndPlantId(dataBrand.FA_CODE, dataBrand.WERKS);

                    returnDetails.Add(new MASTER_DATA_APPROVAL_DETAIL()
                    {
                        COLUMN_NAME        = "BRAND_CE",
                        COLUMN_DESCRIPTION = "Brand Description (SAP)",
                        OLD_VALUE          = dataMaterial.MATERIAL_DESC
                    });
                }
            }

            return(returnDetails);
        }