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); }