Esempio n. 1
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);
        }