/// <summary> /// Save and Update Booking Details /// </summary> /// <param name="bookingDetails"></param> /// <returns></returns> public int SaveAndUpdateBookingDetail(BookingDTO bookingDetails) { booking bookingEntity = new booking(); AutoMapper.Mapper.Map(bookingDetails, bookingEntity); if (bookingDetails.Booking_Id == 0) { ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().Save(bookingEntity); } else { ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().Update(bookingEntity); } return bookingEntity.Booking_Id; }
/// <summary> /// Get Booking Detail By BookingId /// </summary> /// <param name="bookingId">Int32:bookingId</param> /// <param name="isMoneyReceiptIssued">bool:isMoneyReceiptIssued</param> /// <returns></returns> public BookingDTO GetBookingDetailByBookingId(int bookingId, bool isMoneyReceiptIssued) { BookingDTO bookingDetails = new BookingDTO(); if (isMoneyReceiptIssued == true) { AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>() .GetSingle(item => item.Booking_Id == bookingId && item.Booking_MoneyReceiptIssued == true && item.Booking_AccountSettled == false && item.Booking_IsDeleted == false), bookingDetails); } else { AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>() .GetSingle(item => item.Booking_Id == bookingId && item.Booking_IsDeleted == false && item.Booking_MoneyReceiptIssued == false), bookingDetails); } return bookingDetails; }
/// <summary> /// Initialize booking details for save in database /// </summary> /// <param name="agentId">Int32: agentId</param> /// <returns>returns booking details</returns> private BookingDTO InitializeBookingDetails(int agentId) { BookingDTO bookingDetails = new BookingDTO(); bookingDetails.Booking_Cust_Id = Convert.ToInt32(ViewState[Globals.StateMgmtVariables.CUSTOMERID]); if (Session[Globals.StateMgmtVariables.BOOKINGID] != null) { bookingDetails.Booking_Id = Convert.ToInt32(Session[Globals.StateMgmtVariables.BOOKINGID]); } if (agentId != 0) { bookingDetails.Booking_Agent_Id = agentId; } if (rdStandAlone.SelectedItem.Value == "1") { bookingDetails.Booking_Truck_Id = Convert.ToInt32(ddlTruck.SelectedItem.Value); } else { bookingDetails.Booking_TruckType = true; bookingDetails.Booking_StandAlone_Truck_Id = Convert.ToInt32(ViewState[Globals.StateMgmtVariables.TRUCKID]); } bookingDetails.Booking_MaterialType_Id = Convert.ToInt32(ddlMaterial.SelectedItem.Value); bookingDetails.Booking_AdvanceAmount = Convert.ToDecimal(txtAdvanceAmount.Text.Trim()); bookingDetails.Booking_TotalAdvanceAmount = Convert.ToDecimal(txtTotalBookingAdvance.Text.Trim()); bookingDetails.Booking_BalanceAmount = Convert.ToDecimal(txtBalanceAdvance.Text.Trim()); bookingDetails.Booking_TotalIssuedQty = Convert.ToInt32(txtTotalIssuedQty.Text.Trim()); bookingDetails.Booking_Qty = Convert.ToInt32(txtCurrentQty.Text.Trim()); bookingDetails.Booking_Status = rdBookingStatus.SelectedItem.Value == "1" ? true : false; bookingDetails.Booking_RejectionReson = txtRejectionReason.Text.Trim(); bookingDetails.Booking_CreatedBy = GetCurrentUserId(); bookingDetails.Booking_LastUpdatedDate = DateTime.Now; bookingDetails.Booking_CreatedDate = DateTime.Now; bookingDetails.Booking_Mode = Convert.ToInt32(ViewState[Globals.StateMgmtVariables.BOOKINGMODEID]); bookingDetails.Booking_Date = Convert.ToDateTime(txtBookingDate.Text); return bookingDetails; }
public void SaveAllRejectedBookingInfo(BookingDTO bookingDetails, int smsRegId) { using (TransactionScope transactionScope = new TransactionScope()) { //Save Booking Details int savedBookingID = SaveAndUpdateBookingDetail(bookingDetails); if (smsRegId > 0) { SMSRegistrationDTO smsRegdetails = ESalesUnityContainer.Container.Resolve<ISMSService>().GetTodaysSMSDetailsById(smsRegId, DateTime.Now.Date.AddDays(-1)); smsRegdetails.SMSReg_Booking_Id = savedBookingID; ESalesUnityContainer.Container.Resolve<ISMSService>().SaveAndUpdateSMSDetails(smsRegdetails); } transactionScope.Complete(); } }
/// <summary> /// Get Booking Detail By SmsId /// </summary> /// <param name="smsId">Int32:smsId</param> /// <returns></returns> public BookingDTO GetBookingDetailBySmsId(int smsId) { SMSRegistrationDTO smsDetails = new SMSRegistrationDTO(); BookingDTO bookingDetails = new BookingDTO(); AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<smsregistration>>() .GetSingle(item => item.SMSReg_Id == smsId && item.SMSReg_BookingStatus == true && item.SMSReg_IsDeleted == false), smsDetails); if (smsDetails.SMSReg_Id > 0) { AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>() .GetSingle(item => item.Booking_Id == smsDetails.SMSReg_Booking_Id && item.Booking_MoneyReceiptIssued == true && item.Booking_AccountSettled == false && item.Booking_IsDeleted == false), bookingDetails); } return bookingDetails; }
/// <summary> /// Get Booking Detail By BookingId /// </summary> /// <param name="bookingId">Int32:bookingId</param> /// <returns></returns> public BookingDTO GetBookingDetailForReprint(int bookingId) { BookingDTO bookingDetails = new BookingDTO(); AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>() .GetSingle(item => item.Booking_Id == bookingId && item.Booking_IsDeleted == false), bookingDetails); return bookingDetails; }
/// <summary> /// Get Truck Count For date for the barcode application /// </summary> /// <param name="currentDate">DateTime:currentDate</param> /// <param name="TruckInformation">Int32:truckstatus</param> /// <returns></returns> public int GetTruckCountForDateBarcode(DateTime currentDate, int truckStatus) { BookingDTO bookingDetails = new BookingDTO(); int count = 0; if (truckStatus == 1) { List<booking> lstBookingEntity = ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().GetQuery(). Where(item => item.Booking_TruckInTime >= currentDate && item.Booking_Status == true && item.Booking_IsDeleted == false) .OrderBy(order => order.Booking_CreatedDate).ToList(); count = lstBookingEntity.Count; } else if (truckStatus == 2) { List<booking> lstBookingEntity = ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().GetQuery(). Where(item => item.Booking_TruckMatLiftedTime >= currentDate && item.Booking_Status == true && item.Booking_IsDeleted == false) .OrderBy(order => order.Booking_CreatedDate).ToList(); count = lstBookingEntity.Count; } else { count = 0; } return count; }
/// <summary> /// Get Truck Count For Date /// </summary> /// <param name="truckId">Int32:</param> /// <param name="currentDate">DateTime:currentDate</param> /// <param name="truckType">Int32:truckType</param> /// <returns></returns> public int GetTruckCountForDate(int truckId, DateTime currentDate, int truckType) { BookingDTO bookingDetails = new BookingDTO(); int count = 0; if (truckType == 1) { List<booking> lstBookingEntity = ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().GetQuery(). Where(item => item.Booking_Date == currentDate && item.Booking_Status == true && item.Booking_Truck_Id == truckId && item.Booking_IsDeleted == false) .OrderBy(order => order.Booking_CreatedDate).ToList(); count = lstBookingEntity.Count; } else { List<booking> lstBookingEntity = ESalesUnityContainer.Container.Resolve<IGenericRepository<booking>>().GetQuery(). Where(item => item.Booking_Date == currentDate && item.Booking_Status == true && item.Booking_StandAlone_Truck_Id == truckId && item.Booking_IsDeleted == false) .OrderBy(order => order.Booking_CreatedDate).ToList(); count = lstBookingEntity.Count; } return count; }
/// <summary> /// To Save all booking Info /// </summary> /// <param name="lstDCAMaterialAllocation"></param> /// <param name="bookingDetails"></param> /// <param name="counterDailyDetail"></param> /// <param name="smsRegId"></param> /// <returns></returns> public string SaveAllBookingInfo(IList<DcaMaterialAllocationDTO> lstDCAMaterialAllocation, BookingDTO bookingDetails, CounterDetailsDTO counterDailyDetail, int smsRegId) { using (TransactionScope transactionScope = new TransactionScope()) { DcaMaterialAllocationService dcaMatAllocationService = new DcaMaterialAllocationService(); //update agent details dcaMatAllocationService.SaveAndUpdateDCAMaterialDetails(lstDCAMaterialAllocation); bookingDetails.Booking_CounterId = counterDailyDetail.CounterDetail_Counter_ID; bookingDetails.Booking_Status = true; //Save Booking Details int savedBookingID = SaveAndUpdateBookingDetail(bookingDetails); //update counter Details counterDailyDetail.CounterDetail_Count += 1; CounterService counters = new CounterService(); counters.UpdateCounterDailyDetails(counterDailyDetail); //update SMS Details if (smsRegId > 0) { SMSRegistrationDTO smsRegdetails = ESalesUnityContainer.Container.Resolve<ISMSService>().GetTodaysSMSDetailsById(smsRegId, DateTime.Now.Date.AddDays(-1)); smsRegdetails.SMSReg_Booking_Id = savedBookingID; ESalesUnityContainer.Container.Resolve<ISMSService>().SaveAndUpdateSMSDetails(smsRegdetails); } transactionScope.Complete(); return counterDailyDetail.CounterDetail_Counter_ID.ToString(); } }
/// <summary> /// Set Report Parameters by bookingDetails and reportViewer /// </summary> /// <param name="bookingDetails"></param> /// <param name="reportViewer"></param> private void SetReportParameters(BookingDTO bookingDetails, ReportViewer reportViewer) { string truckRegNo = string.Empty; string truckOwnerName = string.Empty; string truckDriverName = string.Empty; string truckOwnerShortAdd = string.Empty; string truckDriverShortAdd = string.Empty; BarcodeDTO b = new BarcodeDTO(); SMSRegistrationDTO smsDetail = new SMSRegistrationDTO(); smsDetail = ESalesUnityContainer.Container.Resolve<ISMSService>().GetSmsDetailsByBookingId(bookingDetails.Booking_Id); ReportParameter loadingAdviceFor = new ReportParameter("LoadingAdviceFor", bookingDetails.Booking_MaterialType_MaterialName); ReportParameter loadingAdviceNo = new ReportParameter("LoadingAdviceNo", bookingDetails.Booking_Agent_AgentShortName + "-" + bookingDetails.Booking_Id); ReportParameter sNO = new ReportParameter("SNo", Convert.ToString(bookingDetails.Booking_Id)); ReportParameter bookingDate = new ReportParameter("BookingDate", Convert.ToDateTime(bookingDetails.Booking_Date).ToString("dd/MMM/yyyy")); ReportParameter matTypeName = new ReportParameter("MatTypeName", bookingDetails.Booking_MaterialType_MaterialName); ReportParameter matCode = new ReportParameter("MatCode", bookingDetails.Booking_MaterialType_Code); ReportParameter custCode = new ReportParameter("CustCode", bookingDetails.Booking_Cust_Code); ReportParameter smsId1 = new ReportParameter("SMSId1", Convert.ToString(smsDetail.SMSReg_Id)); ReportParameter smsId2 = new ReportParameter("SMSId2", Convert.ToString(smsDetail.SMSReg_Id)); if (bookingDetails.Booking_TruckType == true) { truckRegNo = bookingDetails.Booking_StandaloneTruck_RegNo; truckOwnerName = bookingDetails.Booking_StandaloneTruck_OwnerName + ',' + bookingDetails.Booking_StandaloneTruck_OwnerShortAdd; truckDriverName = bookingDetails.Booking_StandaloneTruck_DriverName + ',' + bookingDetails.Booking_StandaloneTruck_DriverShortAdd; } else { truckRegNo = bookingDetails.Booking_Truck_RegNo; truckOwnerName = bookingDetails.Booking_Truck_OwnerName + ',' + bookingDetails.Booking_Truck_OwnerShortAdd; truckDriverName = bookingDetails.Booking_Truck_DriverName + ',' + bookingDetails.Booking_Truck_DriverShortAdd; } ReportParameter truckNo = new ReportParameter("TruckNo", truckRegNo); ReportParameter truckOwner = new ReportParameter("TruckOwner", truckOwnerName); ReportParameter truckDriver = new ReportParameter("TruckDriver", truckDriverName); ReportParameter custName = new ReportParameter("CustName", bookingDetails.Booking_Cust_UnitName); ReportParameter address = new ReportParameter("Address", bookingDetails.Booking_Cust_UnitAddress); ReportParameter district = new ReportParameter("District", bookingDetails.Booking_Cust_District_Name); ReportParameter state = new ReportParameter("State", bookingDetails.Booking_Cust_State_Name); ReportParameter approxQty = new ReportParameter("AppQty", Convert.ToString(bookingDetails.Booking_Qty) + " M"); CurrencyConvertor currencyConvertor = new CurrencyConvertor(); MoneyReceiptDTO moneyReceiptDetails = MasterList.GetMoneyReceiptById(0, bookingDetails.Booking_Id); ReportParameter advanceAmount = new ReportParameter("AdvanceAmount", Convert.ToString(moneyReceiptDetails.MoneyReceipt_AmountPaid)); ReportParameter amountInWords = new ReportParameter("AmountInWords", currencyConvertor.Convertor(moneyReceiptDetails.MoneyReceipt_AmountPaid.ToString())); ReportParameter moneyReceiptDate = new ReportParameter("MoneyReceiptDate", Convert.ToDateTime(moneyReceiptDetails.MoneyReceipt_CreateDate).ToString("dd/MMM/yyyy")); ReportParameter moneyReceiptSNo = new ReportParameter("MoneyReceiptSNo", Convert.ToString(moneyReceiptDetails.MoneyReceipt_Id)); GenerateBarcode(bookingDetails.Booking_Id.ToString(), ref b); List<BarcodeDTO> barcodes = new List<BarcodeDTO>(); barcodes.Add(b); reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", barcodes)); reportViewer.LocalReport.SetParameters(new ReportParameter[] { loadingAdviceFor, loadingAdviceNo, sNO, bookingDate, matTypeName, matCode, custCode, truckNo, truckOwner, truckDriver, custName, address, district, state, approxQty, advanceAmount, amountInWords, moneyReceiptSNo, moneyReceiptDate, smsId1, smsId2}); }
/// <summary> /// Event for Accept Save by booking Id /// </summary> /// <param name="bookingId"></param> private void AcceptSave(int bookingId) { string counterId = string.Empty; int agentId = 0; BookingDTO bookingDetails = new BookingDTO(); bookingDetails = ESalesUnityContainer.Container.Resolve<IBookingService>().GetBookingDetailByBookingId(bookingId, false); CustomerDTO customer = ESalesUnityContainer.Container.Resolve<ICustomerService>() .GetCustomerDetailsById(bookingDetails.Booking_Cust_Id); int smsRegId = 0; ViewState[Globals.StateMgmtVariables.AGENTID] = customer.Cust_AgentId; IList<DcaMaterialAllocationDTO> lstMaterialAllocations = ESalesUnityContainer.Container .Resolve<IDcaMaterialAllocationService>() .GetMaterialAllocationDetails(bookingDetails.Booking_MaterialType_Id, DateTime.Now.Date); if (lstMaterialAllocations.Count > 0) { if (ViewState[Globals.StateMgmtVariables.AGENTID] == null) { agentId = (from F in lstMaterialAllocations where F.DCAMA_AllocatedQty == 0 select F.DCAMA_Agent_Id).FirstOrDefault(); if (agentId == 0) { agentId = (from F in lstMaterialAllocations orderby F.DCAMA_CurrentVariance descending select F.DCAMA_Agent_Id).FirstOrDefault(); } } else { agentId = (from F in lstMaterialAllocations where F.DCAMA_Agent_Id == Convert.ToInt32(ViewState[Globals.StateMgmtVariables.AGENTID]) select F.DCAMA_Agent_Id).FirstOrDefault(); } if (agentId != 0) { int qtySum = (from F in lstMaterialAllocations select F.DCAMA_AllocatedQty).Sum() + Convert.ToInt32(bookingDetails.Booking_Qty); foreach (DcaMaterialAllocationDTO item in lstMaterialAllocations) { if (item.DCAMA_Agent_Id == agentId) { item.DCAMA_AllocatedQty += Convert.ToInt32(bookingDetails.Booking_Qty); item.DCAMA_LastQty = Convert.ToInt32(bookingDetails.Booking_Qty); } item.DCAMA_CurrentPercentage = (Convert.ToDecimal(item.DCAMA_AllocatedQty) / Convert.ToDecimal(qtySum)) * 100; item.DCAMA_CurrentVariance = item.DCAMA_TodayPercentage - item.DCAMA_CurrentPercentage; } bookingDetails.Booking_Agent_Id = agentId; bookingDetails.Booking_IsAdvanced = false; counterId = ESalesUnityContainer.Container.Resolve<IBookingService>() .SaveAllBookingInfo(lstMaterialAllocations, bookingDetails, GetCounterID(agentId), smsRegId); CounterDTO counterDetails = ESalesUnityContainer.Container.Resolve<ICounterService>().GetCounterDetailsById(Convert.ToInt32(counterId)); lblCounterNo.Visible = true; lblCounterNo.Text = Messages.GoToCounterNo + counterDetails.Counter_Name; } else { ucMessageBox.ShowMessage(Messages.AgentNotActive); } } else { ucMessageBox.ShowMessage(Messages.AgentNotActive); } }
public static BookingDTO GetBookingDetailByBookingId(int bookingId, bool isMoneyReceiptIssued) { BookingDTO bookingDetail = new BookingDTO(); bookingDetail = ESalesUnityContainer.Container.Resolve<IBookingService>().GetBookingDetailByBookingId(bookingId, isMoneyReceiptIssued); return bookingDetail; }