Ejemplo n.º 1
0
        public MonthClosingDto GetDataByParam(MonthClosingGetByParam param)
        {
            Expression <Func <MONTH_CLOSING, bool> > queryFilter = PredicateHelper.True <MONTH_CLOSING>();

            if (!string.IsNullOrEmpty(param.PlantId))
            {
                queryFilter = queryFilter.And(c => c.PLANT_ID == param.PlantId && c.IS_ACTIVE == true);
            }
            if (param.ClosingDate != null)
            {
                queryFilter = queryFilter.And(c => c.CLOSING_DATE <= param.ClosingDate.Value &&
                                              c.CLOSING_DATE.Value.Month == param.ClosingDate.Value.Month &&
                                              c.CLOSING_DATE.Value.Year == param.ClosingDate.Value.Year);
            }
            if (param.DisplayDate != null)
            {
                queryFilter = queryFilter.And(c => c.CLOSING_DATE.Value.Month == param.DisplayDate.Value.Month &&
                                              c.CLOSING_DATE.Value.Year == param.DisplayDate.Value.Year);
            }

            var dbData = _repository.Get(queryFilter).FirstOrDefault();

            var mapResult = Mapper.Map <MonthClosingDto>(dbData);

            return(mapResult);
        }
Ejemplo n.º 2
0
        public ActionResult Create(WasteDetail model)
        {
            if (ModelState.IsValid)
            {
                var param = new MonthClosingGetByParam();
                param.ClosingDate = Convert.ToDateTime(model.WasteProductionDate);
                param.PlantId     = model.PlantWerks;
                param.DisplayDate = null;

                var monthClosingdata = _monthClosingBll.GetDataByParam(param);

                if (monthClosingdata != null)
                {
                    AddMessageInfo("Please check closing date.", Enums.MessageInfoType.Warning);
                    model                     = InitCreate(model);
                    model.CompanyCode         = model.CompanyCode;
                    model.PlantWerks          = model.PlantWerks;
                    model.FaCode              = model.FaCode;
                    model.WasteProductionDate = model.WasteProductionDate;
                    return(View(model));
                }

                var existingData = _wasteBll.GetExistDto(model.CompanyCode, model.PlantWerks, model.FaCode,
                                                         Convert.ToDateTime(model.WasteProductionDate));
                if (existingData != null)
                {
                    AddMessageInfo("Data Already Exist", Enums.MessageInfoType.Warning);
                    return(RedirectToAction("Edit", "Waste", new
                    {
                        companyCode = model.CompanyCode,
                        plantWerk = model.PlantWerks,
                        faCode = model.FaCode,
                        wasteProductionDate = model.WasteProductionDate
                    }));
                }

                var data = Mapper.Map <WasteDto>(model);

                try
                {
                    _wasteBll.Save(data, CurrentUser.USER_ID);
                    AddMessageInfo(Constans.SubmitMessage.Saved, Enums.MessageInfoType.Success);

                    return(RedirectToAction("Index"));
                }
                catch (Exception exception)
                {
                    AddMessageInfo(exception.Message, Enums.MessageInfoType.Error);
                }
            }
            model = InitCreate(model);
            return(View(model));
        }
Ejemplo n.º 3
0
        public JsonResult CheckClosingMonth(string plantWerk, DateTime prodDate)
        {
            var param = new MonthClosingGetByParam();

            param.ClosingDate = prodDate;
            param.PlantId     = plantWerk;
            param.DisplayDate = null;

            var data = _monthClosingBll.GetDataByParam(param);

            var model = Mapper.Map <MonthClosingDetail>(data);

            return(Json(model));
        }
        public PartialViewResult FilterData(MonthClosingIndexViewModel model)
        {
            var input = new MonthClosingGetByParam();

            input.Month = model.Month;
            input.Year  = model.Year;

            var closingList = _monthClosingBll.GetList(input);

            model.MonthClosingList = Mapper.Map <List <MonthClosingDetail> >(closingList);

            model.IsNotViewer = (CurrentUser.UserRole == Enums.UserRole.Administrator ? true : false);
            return(PartialView("_List", model));
        }
Ejemplo n.º 5
0
        public JsonResult DisplayClosingMonth(string plantWerk, DateTime prodDate)
        {
            var param = new MonthClosingGetByParam();

            param.DisplayDate = prodDate;
            param.PlantId     = plantWerk;
            param.ClosingDate = null;

            var data = _monthClosingBll.GetDataByParam(param);

            var model = Mapper.Map <MonthClosingDetail>(data);

            if (model != null)
            {
                model.DisplayDate = "Closing Date : " + model.ClosingDate.ToString("dd MMM yyyy");
            }

            return(Json(model));
        }
        public JsonResult CheckClosingMonth(DateTime prodDate)
        {
            var param = new MonthClosingGetByParam();

            param.DisplayDate = prodDate;
            param.PlantId     = null;
            param.ClosingDate = null;

            var data = _monthClosingBll.GetDataByParam(param);

            var model = Mapper.Map <MonthClosingDetail>(data);

            if (model != null)
            {
                model.DisplayDate = "Closing Date for current month already exists";
            }

            return(Json(model));
        }
Ejemplo n.º 7
0
        public List <MonthClosingDto> GetList(MonthClosingGetByParam param)
        {
            Expression <Func <MONTH_CLOSING, bool> > queryFilter = PredicateHelper.True <MONTH_CLOSING>();

            if (!string.IsNullOrEmpty(param.Month))
            {
                var month = Convert.ToInt32(param.Month);
                queryFilter = queryFilter.And(c => c.CLOSING_DATE.Value.Month == month);
            }

            if (!string.IsNullOrEmpty(param.Year))
            {
                var year = Convert.ToInt32(param.Year);
                queryFilter = queryFilter.And(c => c.CLOSING_DATE.Value.Year == year);
            }

            var monthClosingList = _repository.Get(queryFilter, null, includeTables).ToList();

            return(Mapper.Map <List <MonthClosingDto> >(monthClosingList));
        }
        public ActionResult Index()
        {
            var model = new MonthClosingIndexViewModel();

            model.MainMenu    = _mainMenu;
            model.CurrentMenu = PageInfo;
            model.MonthList   = GlobalFunctions.GetMonthList(_monthBll);
            model.Month       = DateTime.Now.Month.ToString();
            model.Year        = DateTime.Now.Year.ToString();

            var input = new MonthClosingGetByParam();

            input.Month = DateTime.Now.Month.ToString();
            input.Year  = DateTime.Now.Year.ToString();

            var closingList = _monthClosingBll.GetList(input);

            model.MonthClosingList = Mapper.Map <List <MonthClosingDetail> >(closingList);
            model.IsNotViewer      = CurrentUser.UserRole != Enums.UserRole.Viewer && CurrentUser.UserRole != Enums.UserRole.Controller;

            return(View("Index", model));
        }
Ejemplo n.º 9
0
        public ActionResult Edit(WasteDetail model)
        {
            var dbWaste = _wasteBll.GetById(model.CompanyCodeX, model.PlantWerksX, model.FaCodeX,
                                            Convert.ToDateTime(model.WasteProductionDateX));

            if (dbWaste == null)
            {
                ModelState.AddModelError("Waste", "Data is not Found");
                model = IniEdit(model);

                return(View("Edit", model));
            }

            var param = new MonthClosingGetByParam();

            param.ClosingDate = Convert.ToDateTime(model.WasteProductionDate);
            param.PlantId     = model.PlantWerks;
            param.DisplayDate = null;

            var monthClosingdata = _monthClosingBll.GetDataByParam(param);

            if (monthClosingdata != null)
            {
                AddMessageInfo("Please check closing date.", Enums.MessageInfoType.Warning);
                model                     = IniEdit(model);
                model.CompanyCode         = model.CompanyCode;
                model.PlantWerks          = model.PlantWerks;
                model.FaCode              = model.FaCode;
                model.WasteProductionDate = model.WasteProductionDate;
                return(View("Edit", model));
            }

            if (model.CompanyCode != model.CompanyCodeX || model.PlantWerks != model.PlantWerksX ||
                model.FaCode != model.FaCodeX || Convert.ToDateTime(model.WasteProductionDate) != Convert.ToDateTime(model.WasteProductionDateX))
            {
                var existingData = _wasteBll.GetExistDto(model.CompanyCode, model.PlantWerks, model.FaCode,
                                                         Convert.ToDateTime(model.WasteProductionDate));
                if (existingData != null)
                {
                    AddMessageInfo("Data Already Exist", Enums.MessageInfoType.Warning);
                    return(RedirectToAction("Edit", "Waste", new
                    {
                        companyCode = model.CompanyCode,
                        plantWerk = model.PlantWerks,
                        faCode = model.FaCode,
                        wasteProductionDate = model.WasteProductionDate
                    }));
                }
            }

            var dbWasteNew = Mapper.Map <WasteDto>(model);

            try
            {
                if (!ModelState.IsValid)
                {
                    var error = ModelState.Values.Where(c => c.Errors.Count > 0).ToList();
                    if (error.Count > 0)
                    {
                        //
                    }
                }

                var isNewData = _wasteBll.Save(dbWasteNew, CurrentUser.USER_ID);
                var message   = Constans.SubmitMessage.Updated;

                if (model.CompanyCode != model.CompanyCodeX || model.PlantWerks != model.PlantWerksX || model.FaCode != model.FaCodeX ||
                    Convert.ToDateTime(model.WasteProductionDate) != Convert.ToDateTime(model.WasteProductionDateX))
                {
                    MoveOldChangeLogHistory(model);
                    _wasteBll.DeleteOldData(model.CompanyCodeX, model.PlantWerksX, model.FaCodeX,
                                            Convert.ToDateTime(model.WasteProductionDateX));
                }

                AddMessageInfo(message, Enums.MessageInfoType.Success);


                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                AddMessageInfo("Edit Failed.", Enums.MessageInfoType.Error);
            }

            model = IniEdit(model);

            return(View("Edit", model));
        }
Ejemplo n.º 10
0
        public List <ProductionUploadItemsOutput> ValidationDailyUploadDocumentProcess(List <ProductionUploadItemsInput> inputs, string qtyPacked, string qty)
        {
            var messageList = new List <string>();
            var outputList  = new List <ProductionUploadItemsOutput>();

            foreach (var inputItem in inputs)
            {
                messageList.Clear();

                var output = Mapper.Map <ProductionUploadItemsOutput>(inputItem);
                output.IsValid = true;

                var checkCountdataDailyProduction =
                    inputs.Where(
                        c =>
                        c.CompanyCode == output.CompanyCode && c.PlantWerks == output.PlantWerks &&
                        c.FaCode == output.FaCode && c.ProductionDate == output.ProductionDate).ToList();
                if (checkCountdataDailyProduction.Count > 1)
                {
                    //double Daily Production Data
                    output.IsValid = false;
                    messageList.Add("Duplicate Daily Production Data  [" + output.CompanyCode + ", " + output.PlantWerks + ", "
                                    + output.FaCode + ", " + output.ProductionDate + "]");
                }

                #region -------------- Company Code Validation --------------
                List <string> messages;
                T001          companyTypeData = null;

                if (ValidateCompanyCode(output.CompanyCode, out messages, out companyTypeData))
                {
                    output.CompanyCode = companyTypeData.BUKRS;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region -------------- Plant Code Validation --------------

                Plant plantTypeData = null;
                if (ValidatePlantCode(output.PlantWerks, out messages, out plantTypeData))
                {
                    output.PlantWerks = plantTypeData.WERKS;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region ---------------FaCode validation-----------------
                ZAIDM_EX_BRAND brandTypeData;

                if (ValidateFaCode(output.PlantWerks, output.FaCode, out messages, out brandTypeData))
                {
                    output.FaCode = brandTypeData.FA_CODE;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region -------------Brand Description--------------------

                if (ValidateBrandCe(output.PlantWerks, output.FaCode, output.BrandDescription, out messages, out brandTypeData))
                {
                    output.BrandDescription = brandTypeData.BRAND_CE;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region ---------------Production Date validation-------------

                int temp;
                if (Int32.TryParse(output.ProductionDate, out temp))
                {
                    try
                    {
                        output.ProductionDate = DateTime.FromOADate(Convert.ToDouble(output.ProductionDate)).ToString("dd MMM yyyy");
                    }
                    catch (Exception)
                    {
                        messageList.Add("Production Date [" + output.ProductionDate + "] not valid");
                    }
                }
                else
                {
                    messageList.Add("Production Date [" + output.ProductionDate + "] not valid");
                }
                #endregion

                #region -------Quantity Production validation--------
                decimal tempDecimal;
                //if (decimal.TryParse(output.QtyPacked, out tempDecimal) || output.QtyPacked == "" || output.QtyPacked == "-")
                //{
                //    output.QtyPacked = output.QtyPacked == "" || output.QtyPacked == "-" ? "0" : output.QtyPacked;

                //}

                //else
                //{
                //    output.QtyPacked = output.QtyPacked;
                //    messageList.Add("Quantity Packed [" + output.QtyPacked + "] not valid");
                //}
                #endregion

                #region -----------Quantity Validation-------------
                if (decimal.TryParse(output.Qty, out tempDecimal) || output.Qty == "" || output.Qty == "-")
                {
                    output.Qty = output.Qty == "" || output.Qty == "-" ? "0" : output.Qty;
                }
                else
                {
                    output.Qty = output.Qty;
                    messageList.Add("Quantity [" + output.Qty + "] not valid");
                }
                #endregion

                #region -------------- UOM Validation --------------------
                UOM uomTypeData = null;

                if (ValidateUomId(output.Uom, out messages, out uomTypeData))
                {
                    output.Uom = uomTypeData.UOM_ID;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region --------------ZB Validation --------------------

                //Product Code Validation
                var brandRegistration = _brandRegistrationBll.GetByFaCode(output.PlantWerks, output.FaCode);
                //brand.PROD_CODE == "01" ? Convert.ToDecimal(dataRow[3]) : 0;
                //brand.PROD_CODE == "01" ? 0 : Convert.ToDecimal(dataRow[3]);
                if (brandRegistration != null && brandRegistration.PROD_CODE == "01")
                {
                    //Value Validation
                    if (output.Zb == "" || output.Zb == "-")
                    {
                        messageList.Add("Qty Packed can't be blank");
                    }
                    else
                    {
                        if (!decimal.TryParse(output.Zb, out tempDecimal))
                        {
                            output.Zb = output.Zb;
                            messageList.Add("ZB [" + output.Zb + "] not valid");
                        }
                    }
                }
                else
                {
                    if (output.Zb.Trim() != "" && output.Zb.Trim() != "-" && output.Zb.Trim() != "0")
                    {
                        output.Zb = output.Zb;
                        messageList.Add("ZB [" + output.Zb + "] must be blank when Product Code is not SKT");
                    }
                }

                #endregion

                #region --------------Packed-Adjusted Validation --------------------

                //Product Code & Exc Good Type Validation
                if (brandRegistration != null && brandRegistration.PROD_CODE == "05" && brandRegistration.EXC_GOOD_TYP == "02")
                {
                    //Value Validation
                    if (decimal.TryParse(output.PackedAdjusted, out tempDecimal) || output.PackedAdjusted == "" || output.PackedAdjusted == "-")
                    {
                        //if (decimal.Parse(output.PackedAdjusted) > decimal.Parse(output.Qty))
                        //{
                        //    output.PackedAdjusted = output.PackedAdjusted;
                        //    messageList.Add("Packed-Adjusted [" + output.PackedAdjusted + "] can't be greater than Qty");
                        //}
                        //else
                        //{
                        output.PackedAdjusted = output.PackedAdjusted.Trim() == "" || output.PackedAdjusted.Trim() == "-" ? "0" : output.PackedAdjusted;
                        //}
                    }
                    else
                    {
                        output.PackedAdjusted = output.PackedAdjusted;
                        messageList.Add("Packed-Adjusted [" + output.PackedAdjusted + "] not valid");
                    }

                    if (brandRegistration.PACKED_ADJUSTED.HasValue && brandRegistration.PACKED_ADJUSTED.Value)
                    {
                        output.PackedAdjusted = output.PackedAdjusted;
                    }
                    else
                    {
                        output.PackedAdjusted = output.PackedAdjusted;
                        messageList.Add(brandRegistration.FA_CODE + " on " + brandRegistration.WERKS + " cannot have Packed-Adjusted value");
                    }
                }
                else
                {
                    if (output.PackedAdjusted.Trim() != "" && output.PackedAdjusted.Trim() != "-" && output.PackedAdjusted.Trim() != "0")
                    {
                        output.PackedAdjusted = output.PackedAdjusted;
                        messageList.Add("Packed-Adjusted [" + output.PackedAdjusted + "] must be blank when Product Code & Exc Good Type is not TIS");
                    }
                }

                #endregion

                #region --------------Remark Validation --------------------

                //Product Code & Exc Good Type Validation
                if (brandRegistration != null && brandRegistration.PROD_CODE == "05" && brandRegistration.EXC_GOOD_TYP == "02")
                {
                    output.Remark = output.Remark;
                }
                //else
                //{
                //    if (output.Remark != "" && output.Remark != "-")
                //    {
                //        output.Remark = output.Remark;
                //        messageList.Add("Remark [" + output.Remark + "] must be blank when Product Code & Exc Good Type is not TIS");
                //    }
                //}

                #endregion

                #region --------------Month Closing Validation --------------------

                var param = new MonthClosingGetByParam();
                param.PlantId     = output.PlantWerks;
                param.ClosingDate = Convert.ToDateTime(output.ProductionDate);

                var data = _monthClosingBll.GetDataByParam(param);

                if (data != null)
                {
                    messageList.Add("Check Closing Date");
                }

                #endregion

                #region -------------- Set Message Info if exists ---------------

                if (messageList.Count > 0)
                {
                    output.IsValid = false;
                    output.Message = "";
                    foreach (var message in messageList)
                    {
                        output.Message += message + ";";
                    }
                }

                else
                {
                    output.IsValid = true;
                    output.Message = string.Empty;
                }

                #endregion

                outputList.Add(output);
            }

            return(outputList);
        }
        public ActionResult Edit(ProductionDetail model)
        {
            var dbProduction = _productionBll.GetById(model.CompanyCodeX, model.PlantWerksX, model.FaCodeX,
                                                      Convert.ToDateTime(model.ProductionDateX));

            try
            {
                if (dbProduction == null)
                {
                    ModelState.AddModelError("Production", "Data is not Found");
                    model = IniEdit(model);

                    return(View("Edit", model));
                }

                var param = new MonthClosingGetByParam();
                param.ClosingDate = Convert.ToDateTime(model.ProductionDate);
                param.PlantId     = model.PlantWerks;
                param.DisplayDate = null;

                var monthClosingdata = _monthClosingBll.GetDataByParam(param);
                if (monthClosingdata != null)
                {
                    AddMessageInfo("Please check closing date.", Enums.MessageInfoType.Warning);
                    model                = IniEdit(model);
                    model.CompanyCode    = model.CompanyCode;
                    model.PlantWerks     = model.PlantWerks;
                    model.FaCode         = model.FaCode;
                    model.ProductionDate = model.ProductionDate;
                    return(View("Edit", model));
                }

                if (model.CompanyCode != model.CompanyCodeX || model.PlantWerks != model.PlantWerksX ||
                    model.FaCode != model.FaCodeX || Convert.ToDateTime(model.ProductionDate) != Convert.ToDateTime(model.ProductionDateX))
                {
                    var existingData = _productionBll.GetExistDto(model.CompanyCode, model.PlantWerks, model.FaCode,
                                                                  Convert.ToDateTime(model.ProductionDate));
                    if (existingData != null)
                    {
                        AddMessageInfo("Data Already Exist", Enums.MessageInfoType.Warning);
                        return(RedirectToAction("Edit", "Production", new
                        {
                            companyCode = model.CompanyCode,
                            plantWerk = model.PlantWerks,
                            faCode = model.FaCode,
                            productionDate = model.ProductionDate
                        }));
                    }
                    else
                    {
                        model.QtyPacked       = 0;
                        model.ProdQtyStick    = 0;
                        model.QtyPackedStr    = "0";
                        model.ProdQtyStickStr = "0";
                        model.Zb                = 0;
                        model.ZbStr             = "0";
                        model.PackedAdjusted    = 0;
                        model.PackedAdjustedStr = "0";
                    }
                }

                //if (model.PackedAdjustedStr != "" && model.PackedAdjustedStr != null && model.QtyPackedStr != "" && model.QtyPackedStr != null)
                //{
                //    if (decimal.Parse(model.PackedAdjustedStr) > decimal.Parse(model.QtyPackedStr))
                //    {
                //        AddMessageInfo("Packed-Adjusted value can't be greater than Qty Packed", Enums.MessageInfoType.Warning);
                //        return RedirectToAction("Edit", "Production", new
                //        {
                //            companyCode = model.CompanyCode,
                //            plantWerk = model.PlantWerks,
                //            faCode = model.FaCode,
                //            productionDate = model.ProductionDate
                //        });
                //    }
                //}

                var dbPrductionNew = Mapper.Map <ProductionDto>(model);

                if (!ModelState.IsValid)
                {
                    var error = ModelState.Values.Where(c => c.Errors.Count > 0).ToList();
                    if (error.Count > 0)
                    {
                        //
                    }
                }

                var output  = _productionBll.Save(dbPrductionNew, CurrentUser.USER_ID);
                var message = Constans.SubmitMessage.Updated;

                if (output.isNewData)
                {
                    message = Constans.SubmitMessage.Saved;
                }

                if (!output.isFromSap)
                {
                    if (model.CompanyCode != model.CompanyCodeX || model.PlantWerks != model.PlantWerksX || model.FaCode != model.FaCodeX ||
                        Convert.ToDateTime(model.ProductionDate) != Convert.ToDateTime(model.ProductionDateX))
                    {
                        MoveOldChangeLogHistory(dbPrductionNew);
                        _productionBll.DeleteOldData(model.CompanyCodeX, model.PlantWerksX, model.FaCodeX, Convert.ToDateTime(model.ProductionDateX));
                    }
                }

                AddMessageInfo(message, Enums.MessageInfoType.Success);

                return(RedirectToAction("Index"));
            }
            catch (Exception exception)
            {
                AddMessageInfo(exception.Message, Enums.MessageInfoType.Error);
            }

            model = IniEdit(model);

            return(View("Edit", model));
        }
        public ActionResult Create(ProductionDetail model)
        {
            if (ModelState.IsValid)
            {
                var param = new MonthClosingGetByParam();
                param.ClosingDate = Convert.ToDateTime(model.ProductionDate);
                param.PlantId     = model.PlantWerks;
                param.DisplayDate = null;

                var monthClosingdata = _monthClosingBll.GetDataByParam(param);
                if (monthClosingdata != null)
                {
                    AddMessageInfo("Please check closing date.", Enums.MessageInfoType.Warning);
                    model                = InitCreate(model);
                    model.CompanyCode    = model.CompanyCode;
                    model.PlantWerks     = model.PlantWerks;
                    model.FaCode         = model.FaCode;
                    model.ProductionDate = model.ProductionDate;
                    return(View(model));
                }

                var existingData = _productionBll.GetExistDto(model.CompanyCode, model.PlantWerks, model.FaCode,
                                                              Convert.ToDateTime(model.ProductionDate));
                if (existingData != null)
                {
                    AddMessageInfo("Data Already Exist", Enums.MessageInfoType.Warning);
                    return(RedirectToAction("Edit", "Production", new
                    {
                        companyCode = model.CompanyCode,
                        plantWerk = model.PlantWerks,
                        faCode = model.FaCode,
                        productionDate = model.ProductionDate
                    }));
                }

                //if(model.PackedAdjusted > model.QtyPacked){
                //    AddMessageInfo("Packed-Adjusted value can't be greater than Qty Packed", Enums.MessageInfoType.Warning);
                //    return RedirectToAction("Edit", "Production", new
                //    {
                //        companyCode = model.CompanyCode,
                //        plantWerk = model.PlantWerks,
                //        faCode = model.FaCode,
                //        productionDate = model.ProductionDate
                //    });
                //}

                var data = Mapper.Map <ProductionDto>(model);

                try
                {
                    _productionBll.Save(data, CurrentUser.USER_ID);

                    AddMessageInfo(Constans.SubmitMessage.Saved, Enums.MessageInfoType.Success
                                   );
                    return(RedirectToAction("Index"));
                }
                catch (Exception exception)
                {
                    AddMessageInfo(exception.Message, Enums.MessageInfoType.Error
                                   );
                }
            }
            else
            {
                var errorlist = ModelState.Values.Select(x => x.Errors).ToList();

                var errMsg = "";

                foreach (var error in errorlist)
                {
                    foreach (var err in error)
                    {
                        errMsg = err.ErrorMessage + "\n";
                    }
                }
                AddMessageInfo(errMsg, Enums.MessageInfoType.Error);
            }
            model = InitCreate(model);
            return(View(model));
        }
Ejemplo n.º 13
0
        public List <WasteUploadItemsOuput> ValidationWasteUploadDocumentProcess(List <WasteUploadItemsInput> inputs)
        {
            var messageList = new List <string>();
            var outputList  = new List <WasteUploadItemsOuput>();

            foreach (var inputItem in inputs)
            {
                messageList.Clear();
                var output = Mapper.Map <WasteUploadItemsOuput>(inputItem);

                output.IsValid = true;

                var checkCountdataWasteProduction =
                    inputs.Where(
                        c =>
                        c.CompanyCode == output.CompanyCode && c.PlantWerks == output.PlantWerks &&
                        c.FaCode == output.FaCode && c.WasteProductionDate == output.WasteProductionDate).ToList();

                if (checkCountdataWasteProduction.Count > 1)
                {
                    //Existing Waste Production data
                    output.IsValid = false;
                    messageList.Add("Duplicate Waste Production Data  [" + output.CompanyCode + ", " + output.PlantWerks + ", "
                                    + output.FaCode + ", " + output.WasteProductionDate + "]");
                }

                List <string> messages;

                #region -------------- Company Code Validation ---------------

                T001 companyTypedata = null;
                if (ValidateCompanyCode(output.CompanyCode, out messages, out companyTypedata))
                {
                    output.CompanyCode = companyTypedata.BUKRS;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }
                #endregion

                #region -------------- Plant Code Validation ---------------

                Plant plantTypeData = null;
                if (ValidationPlantCode(output.PlantWerks, out messages, out plantTypeData))
                {
                    output.PlantWerks = plantTypeData.WERKS;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }

                #endregion

                #region -------------- Fa Code Vlidation ------------------

                ZAIDM_EX_BRAND brandTypeData = null;
                if (ValidationFaCode(output.PlantWerks, output.FaCode, out messages, out brandTypeData))
                {
                    output.FaCode = brandTypeData.FA_CODE;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }
                #endregion

                #region ------------ Brand Description Validation -----------------

                if (ValidationBrandCe(output.PlantWerks, output.FaCode, output.BrandDescription, out messages, out brandTypeData))
                {
                    output.BrandDescription = brandTypeData.BRAND_CE;
                }
                else
                {
                    output.IsValid = false;
                    messageList.AddRange(messages);
                }
                #endregion

                #region ---------------Waste Production Date validation-------------
                int temp;
                if (Int32.TryParse(output.WasteProductionDate, out temp))
                {
                    try
                    {
                        output.WasteProductionDate = DateTime.FromOADate(Convert.ToDouble(output.WasteProductionDate)).ToString("dd MMM yyyy");
                    }
                    catch (Exception)
                    {
                        messageList.Add("Waste Production Date [" + output.WasteProductionDate + "] not valid");
                    }
                }
                else
                {
                    messageList.Add("Waste Production Date [" + output.WasteProductionDate + "] not valid");
                }
                #endregion

                #region -----------MarkerRejectStickQty Validation-------------

                decimal tempDecimal;
                if (decimal.TryParse(output.MarkerRejectStickQty, out tempDecimal) || output.MarkerRejectStickQty == "" || output.MarkerRejectStickQty == "-")
                {
                    output.MarkerRejectStickQty = output.MarkerRejectStickQty == "" || output.MarkerRejectStickQty == "-" ? "0" : output.MarkerRejectStickQty;
                }
                else
                {
                    output.MarkerRejectStickQty = output.MarkerRejectStickQty;
                    messageList.Add("Marker Reject Stick Qty [" + output.MarkerRejectStickQty + "] not valid");
                }
                #endregion

                #region -----------PackerRejectStickQty Validation-------------
                if (decimal.TryParse(output.PackerRejectStickQty, out tempDecimal) || output.PackerRejectStickQty == "" || output.PackerRejectStickQty == "-")
                {
                    output.PackerRejectStickQty = output.PackerRejectStickQty == "" || output.PackerRejectStickQty == "-" ? "0" : output.PackerRejectStickQty;
                }
                else
                {
                    output.PackerRejectStickQty = output.PackerRejectStickQty;
                    messageList.Add("Packer Reject Stick Qty [" + output.PackerRejectStickQty + "] not valid");
                }
                #endregion

                #region -----------DustWasteGramQty Validation-------------
                if (decimal.TryParse(output.DustWasteGramQty, out tempDecimal) || output.DustWasteGramQty == "" || output.DustWasteGramQty == "-")
                {
                    output.DustWasteGramQty = output.DustWasteGramQty == "" || output.DustWasteGramQty == "-" ? "0" : output.DustWasteGramQty;
                }
                else
                {
                    output.DustWasteGramQty = output.DustWasteGramQty;
                    messageList.Add("Dust Waste Gram Qty [" + output.DustWasteGramQty + "] not valid");
                }
                #endregion

                #region -----------FloorWasteGramQty Validation-------------
                if (decimal.TryParse(output.FloorWasteGramQty, out tempDecimal) || output.FloorWasteGramQty == "" || output.FloorWasteGramQty == "-")
                {
                    output.FloorWasteGramQty = output.FloorWasteGramQty == "" || output.FloorWasteGramQty == "-" ? "0" : output.FloorWasteGramQty;
                }
                else
                {
                    output.FloorWasteGramQty = output.FloorWasteGramQty;
                    messageList.Add("Floor Waste Gram Qty [" + output.FloorWasteGramQty + "] not valid");
                }
                #endregion

                #region -----------DustWasteStickQty Validation-------------
                //if (decimal.TryParse(output.DustWasteStickQty, out tempDecimal) || output.DustWasteStickQty == "" || output.DustWasteStickQty == "-")
                //{
                //    output.DustWasteStickQty = output.DustWasteStickQty == "" || output.DustWasteStickQty == "-" ? "0" : output.DustWasteStickQty;
                //}
                //else
                //{
                //    output.DustWasteStickQty = output.DustWasteStickQty;
                //    messageList.Add("Dust Waste Stick Qty [" + output.DustWasteStickQty + "] not valid");
                //}
                #endregion

                #region -----------FloorWasteStickQty Validation-------------
                //if (decimal.TryParse(output.FloorWasteStickQty, out tempDecimal) || output.FloorWasteStickQty == "" || output.FloorWasteStickQty == "-")
                //{
                //    output.FloorWasteStickQty = output.FloorWasteStickQty == "" || output.FloorWasteStickQty == "-" ? "0" : output.FloorWasteStickQty;
                //}
                //else
                //{
                //    output.FloorWasteStickQty = output.FloorWasteStickQty;
                //    messageList.Add("Floor Waste stick Qty [" + output.FloorWasteStickQty + "] not valid");
                //}
                #endregion

                #region -----------StampWasteGramQty Validation-------------
                if (decimal.TryParse(output.StampWasteQty, out tempDecimal) || output.StampWasteQty == "" || output.StampWasteQty == "-")
                {
                    output.StampWasteQty = output.StampWasteQty == "" || output.StampWasteQty == "-" ? "0" : output.StampWasteQty;
                }
                else
                {
                    output.StampWasteQty = output.StampWasteQty;
                    messageList.Add("Stem Waste Gram Qty [" + output.StampWasteQty + "] not valid");
                }
                #endregion

                #region --------------Month Closing Validation --------------------

                var param = new MonthClosingGetByParam();
                param.PlantId     = output.PlantWerks;
                param.ClosingDate = Convert.ToDateTime(output.WasteProductionDate);

                var data = _monthClosingBll.GetDataByParam(param);

                if (data != null)
                {
                    messageList.Add("Check Closing Date");
                }

                #endregion

                #region -----------Use For Lack10 Validation-------------
                if (output.UseForLack10.Trim().ToLower() == "yes" || output.UseForLack10.Trim().ToLower() == "no")
                {
                    output.UseForLack10 = output.UseForLack10;
                }
                else
                {
                    output.UseForLack10 = output.UseForLack10;
                    messageList.Add("Use For Lack10 [" + output.UseForLack10 + "] not valid");
                }
                #endregion

                #region -------------- Set Message Info if exists ---------------

                if (messageList.Count > 0)
                {
                    output.IsValid = false;

                    output.Message = "";
                    foreach (var message in messageList)
                    {
                        output.Message += message + ";";
                    }
                }
                else
                {
                    output.Message = string.Empty;
                    output.IsValid = true;
                }

                #endregion


                outputList.Add(output);
            }

            return(outputList);
        }