using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using GB5Shared.DTO.Framework.Login; using MMDAL.CustomCode.PackDetail; using MMDAL.DTO.Pack; using GB5Shared.GenerateAutoNumber; using GB5Shared.DTO.Framework.AutoNumber; namespace MMBLL.PackDetail { public class PackDetailBLL : IPackDetailBLL { private readonly IPackDetailDAL PackDetailDAL; private readonly AutoNumber AutoNumber; public PackDetailBLL(IPackDetailDAL IPackDetailDAL , AutoNumber autonumber) { PackDetailDAL = IPackDetailDAL; AutoNumber = autonumber; } public async Task PackDetailSave(List PackDetailDTOs, LoginDTO LoginDTO, int PackDetailTag = 0 ) { try { if (PackDetailDTOs.Count == 0) { return true; } AutoNumberDTO AutoNumberDTO = await AutoNumber.GetNumberAsync(PackDetailDTOs.Count, "PACKDETAIL", LoginDTO); if (PackDetailTag == 1) { //Update Case Delete the Previous Entries based on BizTransactionTypeId,and Object Based Id's. string ssql = await PackDetailDAL.DeletePackDetail(PackDetailDTOs[0].BizTransactionTypeId, PackDetailDTOs[0].ObjectHeaderTypeId, PackDetailDTOs[0].PackDetailObjectHeaderId, PackDetailDTOs[0].ObjectTypeId); //GenericDal.ExceuteUpdateQuery(ssql, LoginDTO); } for (int i = 0; i < PackDetailDTOs.Count; i++) { //Unisoft.MMDAL.Poco.PackDetail PackDetail = new Unisoft.MMDAL.Poco.PackDetail(); //PackDetailDTOs[i].PackDetailStockLedgerDate = Convert.ToDateTime(PackDetailDTOs[i].PackDetailStockLedgerDate.ToString("yyyy-MM-dd")); //PackDetail = CommonFunctionDAL.GenericConversionDToToPoco(PackDetailDTOs[i]); //PackDetail.Id = AutoNumberDTO.StartNumber + i; //PackDetail.SlNo = Convert.ToInt16(i + 1); //PackDetail.PlannedQuantity = PackDetail.Quantity; //if (PackDetail.PackNumberId == -1) //{ // throw new ValidationFaliedException("Pack Number cannot be NONE."); //} //GenericDal.Save(PackDetail, LoginDTO, null); } return true; } catch (Exception ) { throw; } } } }