/// <summary> /// add new invoice master. /// </summary> /// <returns></returns> public async Task <IActionResult> AddInvoiceMaster() { ViewBag.CustomerList = await _ledger.GetLedgerSelectList((int)LedgerName.SundryDebtor); ViewBag.BankLedgerList = await _ledger.GetLedgerSelectList((int)LedgerName.BankAccount); ViewBag.AccountLedgerList = await _ledger.GetLedgerSelectList(0); ViewBag.TaxRegisterList = await _taxRegister.GetTaxRegisterSelectList(); ViewBag.CurrencyList = await _currency.GetCurrencySelectList(); ViewBag.TaxModelTypeList = EnumHelper.GetEnumListFor <TaxModelType>(); ViewBag.DiscountTypeList = EnumHelper.GetEnumListFor <DiscountType>(); UserSessionModel userSession = SessionExtension.GetComplexData <UserSessionModel>(HttpContext.Session, "UserSession"); SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel(); salesInvoiceModel.CompanyId = userSession.CompanyId; salesInvoiceModel.FinancialYearId = userSession.FinancialYearId; // generate no. GenerateNoModel generateNoModel = await _salesInvoice.GenerateInvoiceNo(userSession.CompanyId, userSession.FinancialYearId); salesInvoiceModel.InvoiceNo = generateNoModel.VoucherNo; salesInvoiceModel.InvoiceDate = DateTime.Now; return(await Task.Run(() => { return PartialView("_AddInvoiceMaster", salesInvoiceModel); })); }
public async Task <JsonResult> SaveInvoiceMaster(SalesInvoiceModel salesInvoiceModel) { JsonData <JsonStatus> data = new JsonData <JsonStatus>(new JsonStatus()); if (ModelState.IsValid) { if (salesInvoiceModel.InvoiceId > 0) { // update record. if (true == await _salesInvoice.UpdateSalesInvoice(salesInvoiceModel)) { data.Result.Status = true; } } else { // add new record. if (await _salesInvoice.CreateSalesInvoice(salesInvoiceModel) > 0) { data.Result.Status = true; } } } return(Json(data)); }
public async Task <int> CreateAsync(SalesInvoiceModel model) { int result = 0; using (var transaction = DbContext.Database.BeginTransaction()) { try { int index = 0; do { model.Code = CodeGenerator.Generate(); }while (DbSet.Any(d => d.Code.Equals(model.Code))); SalesInvoiceNumberGenerator(model, index); salesInvoiceLogic.Create(model); index++; result = await DbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(result); }
public async Task <int> DeleteAsync(int id) { using (var transaction = DbContext.Database.BeginTransaction()) { try { SalesInvoiceModel model = await salesInvoiceLogic.ReadByIdAsync(id); if (model != null) { SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel(); salesInvoiceModel = model; await salesInvoiceLogic.DeleteAsync(id); } if (model.SalesInvoiceCategory == "DYEINGPRINTING") { foreach (var detail in model.SalesInvoiceDetails) { var ItemIds = detail.SalesInvoiceItems.Select(s => s.ProductId).ToList(); UpdateFalseToShippingOut(detail.ShippingOutId, ItemIds); } } transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(await DbContext.SaveChangesAsync()); }
// end of function public List <SalesInvoiceModel> GetAllData(List <SalesInvoiceModel> _SI) { Sql = "SELECT Batch, Batch2,ChkType, COUNT(ChkType), DeliveryDate FROM Master_Database_SBTC WHERE SalesInvoice IS NULL " + "AND UnitPrice IS NULL GROUP BY Batch, Batch2, ChkType, DeliveryDate ORDER BY Batch2, DeliveryDate DESC, Batch DESC"; //DBConnect(); //getDBConnection(myConnect); //myConnect.Open(); DBConnect(); cmd = new MySqlCommand(Sql, myConnect); mySqlData = cmd.ExecuteReader(); while (mySqlData.Read()) { SalesInvoiceModel sales = new SalesInvoiceModel(); sales.Batch = !mySqlData.IsDBNull(0) ? mySqlData.GetString(0): ""; sales.ChequeName = !mySqlData.IsDBNull(1) ? mySqlData.GetString(1) : ""; sales.ChkType = !mySqlData.IsDBNull(2) ? mySqlData.GetString(2) : ""; sales.Quantity = !mySqlData.IsDBNull(3) ? mySqlData.GetInt16(3) : 0; sales.DeliveryDate = !mySqlData.IsDBNull(4) ? mySqlData.GetDateTime(4) : DateTime.Now; _SI.Add(sales); } DBClosed(); return(_SI); }
public ActionResult View(long?id) { SalesInvoiceModel purchaseModel = new SalesInvoiceModel(); if (UserRolePermissionForPage.View == true) { if (id > 0) { long purchaseInvoiceId = Convert.ToInt64(id); purchaseModel = _iSalesInvoiceService.GetViewSalesInvoiceFoodMenuById(purchaseInvoiceId); } else { purchaseModel.ReferenceNo = _iSalesInvoiceService.ReferenceNumberFoodMenu().ToString(); purchaseModel.SalesInvoiceDate = DateTime.UtcNow.AddMinutes(LoginInfo.Timeoffset); } purchaseModel.CustomerList = _iDropDownService.GetCustomerList(); purchaseModel.StoreList = _iDropDownService.GetStoreList(); purchaseModel.EmployeeList = _iDropDownService.GetEmployeeList(); return(View(purchaseModel)); } else { return(RedirectToAction("NotFound", "Error")); } }
public ActionResult GetInvoicePrint(int id) { SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel(); salesInvoiceModel = _iSalesInvoiceService.GetSalesInvoiceReportById(id); string html = _iSalesInvoiceService.GetInvoiceHtmlString(salesInvoiceModel); var pdf = Pdf .From(html) .OfSize(PaperSize.Letter) .WithTitle("Title") .WithoutOutline() .WithMargins(.25.Centimeters()) .Portrait() .Comressed() .Content(); string webRootPath = _hostingEnvironment.WebRootPath; string InvoicePath = Path.Combine(webRootPath, "Sales"); string FileNmae = InvoicePath + "\\SalesInvoice_" + DateTime.UtcNow.AddMinutes(LoginInfo.Timeoffset).ToString("MM/dd/yyyy HH:mm").Replace("/", "").Replace(" ", "").Replace(":", "").ToString() + ".pdf"; Stream myStream = new MemoryStream(pdf); using (var fileStream = System.IO.File.Create(FileNmae)) { myStream.Seek(0, SeekOrigin.Begin); myStream.CopyTo(fileStream); } byte[] FileBytes = System.IO.File.ReadAllBytes(FileNmae); return(File(FileBytes, "application/pdf")); }
public ActionResult GetFoodMenuList() { SalesInvoiceModel purchaseModel = new SalesInvoiceModel(); purchaseModel.FoodMenuList = _iDropDownService.GetFoodMenuListByFoodmenuType(1); return(Json(new { purchaseModel.FoodMenuList })); }
/// <summary> /// update sales invoice. /// </summary> /// <param name="salesInvoiceModel"></param> /// <returns> /// return true if success. /// </returns> public async Task <bool> UpdateSalesInvoice(SalesInvoiceModel salesInvoiceModel) { bool isUpdated = false; // get record. Salesinvoice salesInvoice = await GetByIdAsync(w => w.InvoiceId == salesInvoiceModel.InvoiceId); if (null != salesInvoice) { // assign values. //salesInvoice.InvoiceId = salesInvoiceModel.InvoiceId; //salesInvoice.InvoiceNo = salesInvoiceModel.InvoiceNo; salesInvoice.InvoiceDate = salesInvoiceModel.InvoiceDate; salesInvoice.CustomerLedgerId = salesInvoiceModel.CustomerLedgerId; salesInvoice.BillToAddressId = salesInvoiceModel.BillToAddressId; salesInvoice.AccountLedgerId = salesInvoiceModel.AccountLedgerId; salesInvoice.BankLedgerId = salesInvoiceModel.BankLedgerId; salesInvoice.CustomerReferenceNo = salesInvoiceModel.CustomerReferenceNo; salesInvoice.CustomerReferenceDate = salesInvoiceModel.CustomerReferenceDate; salesInvoice.CreditLimitDays = salesInvoiceModel.CreditLimitDays; salesInvoice.PaymentTerm = salesInvoiceModel.PaymentTerm; salesInvoice.Remark = salesInvoiceModel.Remark; salesInvoice.TaxModelType = salesInvoiceModel.TaxModelType; salesInvoice.TaxRegisterId = salesInvoiceModel.TaxRegisterId; salesInvoice.CurrencyId = salesInvoiceModel.CurrencyId; salesInvoice.ExchangeRate = salesInvoiceModel.ExchangeRate; salesInvoice.TotalLineItemAmountFc = 0; salesInvoice.TotalLineItemAmount = 0; salesInvoice.GrossAmountFc = 0; salesInvoice.GrossAmount = 0; salesInvoice.NetAmountFc = 0; salesInvoice.NetAmount = 0; salesInvoice.NetAmountFcinWord = ""; salesInvoice.TaxAmountFc = 0; salesInvoice.TaxAmount = 0; salesInvoice.DiscountPercentageOrAmount = salesInvoiceModel.DiscountPercentageOrAmount; salesInvoice.DiscountPercentage = salesInvoiceModel.DiscountPercentage; salesInvoice.DiscountAmountFc = 0; salesInvoice.DiscountAmount = 0; //salesInvoice.StatusId = salesInvoiceModel.StatusId; //salesInvoice.CompanyId = salesInvoiceModel.CompanyId; //salesInvoice.FinancialYearId = salesInvoiceModel.FinancialYearId; //salesInvoice.MaxNo = salesInvoiceModel.MaxNo; isUpdated = await Update(salesInvoice); } if (isUpdated != false) { await UpdateSalesInvoiceMasterAmount(salesInvoice.InvoiceId); } return(isUpdated); // returns. }
/// <summary> /// view invoice master. /// </summary> /// <returns></returns> public async Task <IActionResult> ViewInvoiceMaster(int invoiceId) { SalesInvoiceModel salesInvoiceModel = await _salesInvoice.GetSalesInvoiceById(invoiceId); return(await Task.Run(() => { return PartialView("_ViewInvoiceMaster", salesInvoiceModel); })); }
/// <summary> /// create new sales invoice. /// </summary> /// <param name="salesInvoiceModel"></param> /// <returns> /// return id. /// </returns> public async Task <int> CreateSalesInvoice(SalesInvoiceModel salesInvoiceModel) { int salesInvoiceId = 0; // generate no. GenerateNoModel generateNoModel = await GenerateInvoiceNo(salesInvoiceModel.CompanyId, salesInvoiceModel.FinancialYearId); // assign values. Salesinvoice salesInvoice = new Salesinvoice(); salesInvoice.MaxNo = generateNoModel.MaxNo; salesInvoice.VoucherStyleId = generateNoModel.VoucherStyleId; salesInvoice.InvoiceNo = generateNoModel.VoucherNo; salesInvoice.InvoiceDate = salesInvoiceModel.InvoiceDate; salesInvoice.CustomerLedgerId = salesInvoiceModel.CustomerLedgerId; salesInvoice.BillToAddressId = salesInvoiceModel.BillToAddressId; salesInvoice.AccountLedgerId = salesInvoiceModel.AccountLedgerId; salesInvoice.BankLedgerId = salesInvoiceModel.BankLedgerId; salesInvoice.CustomerReferenceNo = salesInvoiceModel.CustomerReferenceNo; salesInvoice.CustomerReferenceDate = salesInvoiceModel.CustomerReferenceDate; salesInvoice.CreditLimitDays = salesInvoiceModel.CreditLimitDays; salesInvoice.PaymentTerm = salesInvoiceModel.PaymentTerm; salesInvoice.Remark = salesInvoiceModel.Remark; salesInvoice.TaxModelType = salesInvoiceModel.TaxModelType; salesInvoice.TaxRegisterId = salesInvoiceModel.TaxRegisterId; salesInvoice.CurrencyId = salesInvoiceModel.CurrencyId; salesInvoice.ExchangeRate = salesInvoiceModel.ExchangeRate; salesInvoice.TotalLineItemAmountFc = 0; salesInvoice.TotalLineItemAmount = 0; salesInvoice.GrossAmountFc = 0; salesInvoice.GrossAmount = 0; salesInvoice.NetAmountFc = 0; salesInvoice.NetAmount = 0; salesInvoice.NetAmountFcinWord = ""; salesInvoice.TaxAmountFc = 0; salesInvoice.TaxAmount = 0; salesInvoice.DiscountPercentageOrAmount = salesInvoiceModel.DiscountPercentageOrAmount; salesInvoice.DiscountPercentage = salesInvoiceModel.DiscountPercentage; salesInvoice.DiscountAmountFc = 0; salesInvoice.DiscountAmount = 0; salesInvoice.StatusId = salesInvoiceModel.StatusId; salesInvoice.CompanyId = salesInvoiceModel.CompanyId; salesInvoice.FinancialYearId = salesInvoiceModel.FinancialYearId; await Create(salesInvoice); salesInvoiceId = salesInvoice.InvoiceId; if (salesInvoiceId > 0) { await UpdateSalesInvoiceMasterAmount(salesInvoiceId); } return(salesInvoiceId); // returns. }
public ActionResult SalesInvoiceFoodMenu(SalesInvoiceModel purchaseModel, string Cancel) { purchaseModel.CustomerList = _iDropDownService.GetCustomerList(); purchaseModel.StoreList = _iDropDownService.GetStoreList(); purchaseModel.EmployeeList = _iDropDownService.GetEmployeeList(); string purchaseMessage = string.Empty; if (!ModelState.IsValid) { string errorString = this.ValidationPurchaseInvoice(purchaseModel); if (!string.IsNullOrEmpty(errorString)) { return(Json(new { error = true, message = errorString, status = 201 })); } } if (purchaseModel.SalesInvoiceDetails != null) { if (purchaseModel.SalesInvoiceDetails.Count > 0) { purchaseModel.InventoryType = 1; if (purchaseModel.Id > 0) { int result = _iSalesInvoiceService.UpdatePurchaseInvoiceFoodMenu(purchaseModel); if (result > 0) { purchaseMessage = _locService.GetLocalizedHtmlString("EditSuccss"); } } else { purchaseModel.ReferenceNo = _iSalesInvoiceService.ReferenceNumberFoodMenu().ToString(); int result = _iSalesInvoiceService.InsertPurchaseInvoiceFoodMenu(purchaseModel); if (result > 0) { purchaseMessage = _locService.GetLocalizedHtmlString("SaveSuccess") + " Reference No is: " + result.ToString(); } } } else { purchaseMessage = _locService.GetLocalizedHtmlString("ValidPurchaseInvoiceDetails"); return(Json(new { error = true, message = purchaseMessage, status = 201 })); } } else { purchaseMessage = _locService.GetLocalizedHtmlString("ValidPurchaseInvoiceDetails"); return(RedirectToAction("SalesInvoice", "SalesInvoiceFoodMenu")); } return(Json(new { error = false, message = purchaseMessage, status = 200 })); }
private async Task <SalesInvoiceModel> AssignValueToModel(Salesinvoice salesInvoice) { return(await Task.Run(() => { SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel(); salesInvoiceModel.InvoiceId = salesInvoice.InvoiceId; salesInvoiceModel.InvoiceNo = salesInvoice.InvoiceNo; salesInvoiceModel.InvoiceDate = salesInvoice.InvoiceDate; salesInvoiceModel.CustomerLedgerId = salesInvoice.CustomerLedgerId; salesInvoiceModel.BillToAddressId = salesInvoice.BillToAddressId; salesInvoiceModel.AccountLedgerId = salesInvoice.AccountLedgerId; salesInvoiceModel.BankLedgerId = salesInvoice.BankLedgerId; salesInvoiceModel.CustomerReferenceNo = salesInvoice.CustomerReferenceNo; salesInvoiceModel.CustomerReferenceDate = salesInvoice.CustomerReferenceDate; salesInvoiceModel.CreditLimitDays = salesInvoice.CreditLimitDays; salesInvoiceModel.PaymentTerm = salesInvoice.PaymentTerm; salesInvoiceModel.Remark = salesInvoice.Remark; salesInvoiceModel.TaxModelType = salesInvoice.TaxModelType; salesInvoiceModel.TaxRegisterId = salesInvoice.TaxRegisterId; salesInvoiceModel.CurrencyId = salesInvoice.CurrencyId; salesInvoiceModel.ExchangeRate = salesInvoice.ExchangeRate; salesInvoiceModel.TotalLineItemAmountFc = salesInvoice.TotalLineItemAmountFc; salesInvoiceModel.TotalLineItemAmount = salesInvoice.TotalLineItemAmount; salesInvoiceModel.GrossAmountFc = salesInvoice.GrossAmountFc; salesInvoiceModel.GrossAmount = salesInvoice.GrossAmount; salesInvoiceModel.NetAmountFc = salesInvoice.NetAmountFc; salesInvoiceModel.NetAmount = salesInvoice.NetAmount; salesInvoiceModel.NetAmountFcinWord = salesInvoice.NetAmountFcinWord; salesInvoiceModel.TaxAmountFc = salesInvoice.TaxAmountFc; salesInvoiceModel.TaxAmount = salesInvoice.TaxAmount; salesInvoiceModel.DiscountPercentageOrAmount = salesInvoice.DiscountPercentageOrAmount; salesInvoiceModel.DiscountPercentage = salesInvoice.DiscountPercentage; salesInvoiceModel.DiscountAmountFc = salesInvoice.DiscountAmountFc; salesInvoiceModel.DiscountAmount = salesInvoice.DiscountAmount; salesInvoiceModel.StatusId = salesInvoice.StatusId; salesInvoiceModel.CompanyId = Convert.ToInt32(salesInvoice.CompanyId); salesInvoiceModel.FinancialYearId = Convert.ToInt32(salesInvoice.FinancialYearId); salesInvoiceModel.MaxNo = Convert.ToInt32(salesInvoice.MaxNo); salesInvoiceModel.VoucherStyleId = Convert.ToInt32(salesInvoice.VoucherStyleId); // ### salesInvoiceModel.CustomerLedgerName = null != salesInvoice.CustomerLedger ? salesInvoice.CustomerLedger.LedgerName : null; salesInvoiceModel.BillToAddress = null != salesInvoice.BillToAddress ? salesInvoice.BillToAddress.AddressDescription : null; salesInvoiceModel.AccountLedgerName = null != salesInvoice.AccountLedger ? salesInvoice.AccountLedger.LedgerName : null; salesInvoiceModel.BankLedgerName = null != salesInvoice.BankLedger ? salesInvoice.BankLedger.LedgerName : null; salesInvoiceModel.TaxRegisterName = null != salesInvoice.TaxRegister ? salesInvoice.TaxRegister.TaxRegisterName : null; salesInvoiceModel.CurrencyName = null != salesInvoice.Currency ? salesInvoice.Currency.CurrencyName : null; salesInvoiceModel.StatusName = null != salesInvoice.Status ? salesInvoice.Status.StatusName : null; salesInvoiceModel.PreparedByName = null != salesInvoice.PreparedByUser ? salesInvoice.PreparedByUser.UserName : null; return salesInvoiceModel; })); }
/// <summary> /// get sales invoice based on invoiceId /// </summary> /// <returns> /// return record. /// </returns> public async Task <SalesInvoiceModel> GetSalesInvoiceById(int invoiceId) { SalesInvoiceModel salesInvoiceModel = null; IList <SalesInvoiceModel> salesInvoiceModelList = await GetSalesInvoiceList(invoiceId); if (null != salesInvoiceModelList && salesInvoiceModelList.Any()) { salesInvoiceModel = salesInvoiceModelList.FirstOrDefault(); } return(salesInvoiceModel); // returns. }
public SalesInvoiceModel GetPurchaseInvoiceFoodMenuById(long purchaseInvoiceId) { SalesInvoiceModel purchaseModel = new SalesInvoiceModel(); var model = (from purchase in _iSalesInvoiceRepository.GetPurchaseInvoiceFoodMenuById(purchaseInvoiceId).ToList() select new SalesInvoiceModel() { Id = purchase.Id, SalesId = purchase.SalesId, ReferenceNo = purchase.ReferenceNo, CustomerId = purchase.CustomerId, EmployeeId = purchase.EmployeeId, StoreId = purchase.StoreId, SalesInvoiceDate = purchase.SalesInvoiceDate, GrossAmount = purchase.GrossAmount, TaxAmount = purchase.TaxAmount, TotalAmount = purchase.TotalAmount, PaidAmount = purchase.PaidAmount, DueAmount = purchase.DueAmount, DeliveryNoteNumber = purchase.DeliveryNoteNumber, DeliveryDate = purchase.DeliveryDate, DriverName = purchase.DriverName, VehicleNumber = purchase.VehicleNumber, Notes = purchase.Notes, SOReferenceNo = purchase.SOReferenceNo, SODate = purchase.SODate }).SingleOrDefault(); if (model != null) { model.SalesInvoiceDetails = (from purchasedetails in _iSalesInvoiceRepository.GetPurchaseInvoiceFoodMenuDetails(purchaseInvoiceId) select new SalesInvoiceDetailModel() { SalesInvoiceId = purchasedetails.SalesInvoiceId, IngredientId = purchasedetails.IngredientId, FoodMenuId = purchasedetails.FoodMenuId, SOQTY = purchasedetails.SOQTY, InvoiceQty = purchasedetails.InvoiceQty, UnitPrice = purchasedetails.UnitPrice, GrossAmount = purchasedetails.GrossAmount, DiscountPercentage = purchasedetails.DiscountPercentage, DiscountAmount = purchasedetails.DiscountAmount, TaxAmount = purchasedetails.TaxAmount, TotalAmount = purchasedetails.TotalAmount, IngredientName = purchasedetails.IngredientName, FoodMenuName = purchasedetails.FoodMenuName }).ToList(); } return(model); }
public static bool BatchRecordHasDuplicate(SalesInvoiceModel line, List <SalesInvoiceModel> salesInvoiceList) { foreach (var item in salesInvoiceList) { if (line.Quantity == item.Quantity && line.Batch == item.Batch && line.checkName == item.checkName && line.deliveryDate == item.deliveryDate && line.drList == item.drList && line.checkType == item.checkType) { return(true); } } return(false); }
public async Task <int> CreateSalesInvoiceTax(SalesInvoiceTaxModel salesInvoiceTaxModel) { int salesInvoiceTaxId = 0; int multiplier = 1; // assign values. SalesInvoiceModel salesInvoiceModel = null; salesInvoiceModel = await salesInvoice.GetSalesInvoiceById((int)salesInvoiceTaxModel.InvoiceId); Salesinvoicetax salesInvoiceTax = new Salesinvoicetax(); salesInvoiceTax.InvoiceId = salesInvoiceTaxModel.InvoiceId; salesInvoiceTax.SrNo = salesInvoiceTaxModel.SrNo; salesInvoiceTax.TaxLedgerId = salesInvoiceTaxModel.TaxLedgerId; salesInvoiceTax.TaxPercentageOrAmount = salesInvoiceTaxModel.TaxPercentageOrAmount; salesInvoiceTax.TaxPerOrAmountFc = salesInvoiceTaxModel.TaxPerOrAmountFc; if (DiscountType.Percentage.ToString() == salesInvoiceTax.TaxPercentageOrAmount) { salesInvoiceTaxModel.TaxAmountFc = (salesInvoiceModel.GrossAmountFc * salesInvoiceTaxModel.TaxPerOrAmountFc) / 100; } else { salesInvoiceTaxModel.TaxAmountFc = salesInvoiceTaxModel.TaxPerOrAmountFc; } if (TaxAddOrDeduct.Deduct.ToString() == salesInvoiceTaxModel.TaxAddOrDeduct) { multiplier = -1; } salesInvoiceTax.TaxAddOrDeduct = salesInvoiceTaxModel.TaxAddOrDeduct; salesInvoiceTax.TaxAmountFc = multiplier * salesInvoiceTaxModel.TaxAmountFc; salesInvoiceTax.TaxAmount = multiplier * salesInvoiceTaxModel.TaxAmount; salesInvoiceTax.Remark = salesInvoiceTaxModel.Remark; await Create(salesInvoiceTax); salesInvoiceTaxId = salesInvoiceTax.InvoiceTaxId; if (salesInvoiceTaxId != 0) { await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceTaxId); } return(salesInvoiceTaxId); // returns. }
private string ValidationPurchaseInvoice(SalesInvoiceModel purchaseModel) { string ErrorString = string.Empty; if (string.IsNullOrEmpty(purchaseModel.CustomerId.ToString()) || purchaseModel.CustomerId == 0) { ErrorString = _locService.GetLocalizedHtmlString("ValidCustomer"); return(ErrorString); } if (purchaseModel.SalesInvoiceDetails == null || purchaseModel.SalesInvoiceDetails.Count < 1) { ErrorString = _locService.GetLocalizedHtmlString("ValidSalesInvoiceDetails"); return(ErrorString); } return(ErrorString); }
public async Task <int> UpdateAsync(int id, SalesInvoiceModel model) { using (var transaction = DbContext.Database.BeginTransaction()) { try { salesInvoiceLogic.UpdateAsync(id, model); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(await DbContext.SaveChangesAsync()); }
// GET: PurchaseInvoice/Create public ActionResult SalesInvoiceFoodMenu(long?id, long?purchaseId, string type) { SalesInvoiceModel purchaseModel = new SalesInvoiceModel(); if (UserRolePermissionForPage.Add == true || UserRolePermissionForPage.Edit == true || UserRolePermissionForPage.View == true) { if (purchaseId > 0) { if (type == "delivery") { purchaseModel = _iSalesInvoiceService.GetPurchaseInvoiceFoodMenuByPurchaseId(Convert.ToInt64(purchaseId), type); purchaseModel.Type = "delivery"; } else { purchaseModel = _iSalesInvoiceService.GetPurchaseInvoiceFoodMenuByPurchaseId(Convert.ToInt64(purchaseId), type); } purchaseModel.DeliveryDate = DateTime.UtcNow.AddMinutes(LoginInfo.Timeoffset); purchaseModel.ReferenceNo = _iSalesInvoiceService.ReferenceNumberFoodMenu().ToString(); } else { if (id > 0) { ViewBag.ActionType = type; long purchaseInvoiceId = Convert.ToInt64(id); purchaseModel = _iSalesInvoiceService.GetPurchaseInvoiceFoodMenuById(purchaseInvoiceId); } else { purchaseModel.ReferenceNo = _iSalesInvoiceService.ReferenceNumberFoodMenu().ToString(); purchaseModel.SalesInvoiceDate = DateTime.UtcNow.AddMinutes(LoginInfo.Timeoffset); purchaseModel.DeliveryDate = DateTime.UtcNow.AddMinutes(LoginInfo.Timeoffset); } } purchaseModel.CustomerList = _iDropDownService.GetCustomerList(); purchaseModel.StoreList = _iDropDownService.GetStoreList(); purchaseModel.EmployeeList = _iDropDownService.GetEmployeeList(); return(View(purchaseModel)); } else { return(RedirectToAction("NotFound", "Error")); } }
private void SalesInvoiceNumberGenerator(SalesInvoiceModel model, int index) { SalesInvoiceModel lastData = DbSet.IgnoreQueryFilters().Where(w => w.SalesInvoiceType.Equals(model.SalesInvoiceType)).OrderByDescending(o => o.AutoIncreament).FirstOrDefault(); int YearNow = DateTime.Now.Year; if (lastData == null) { if (model.SalesInvoiceType == "BPF") { index = 28; } else if (model.SalesInvoiceType == "BPS") { index = 8; } else if (model.SalesInvoiceType == "BPP") { index = 98; } else if (model.SalesInvoiceType == "BRG") { index = 14; } else { index = 0; } model.AutoIncreament = 1 + index; model.SalesInvoiceNo = $"{model.SalesInvoiceType}/{YearNow}/{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { if (YearNow > lastData.CreatedUtc.Year) { model.AutoIncreament = 1 + index; model.SalesInvoiceNo = $"{model.SalesInvoiceType}/{YearNow}/{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { model.AutoIncreament = lastData.AutoIncreament + (1 + index); model.SalesInvoiceNo = $"{model.SalesInvoiceType}/{YearNow}/{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } } }
public async Task <int> CreateAsync(SalesInvoiceModel model) { int result = 0; using (var transaction = DbContext.Database.BeginTransaction()) { try { int index = 0; do { model.Code = CodeGenerator.Generate(); }while (DbSet.Any(d => d.Code.Equals(model.Code))); SalesInvoiceNumberGenerator(model, index); DeliveryOrderNumberGenerator(model); salesInvoiceLogic.Create(model); index++; result = await DbContext.SaveChangesAsync(); if (model.SalesInvoiceCategory == "DYEINGPRINTING") { foreach (var detail in model.SalesInvoiceDetails) { var ItemIds = detail.SalesInvoiceItems.Select(s => s.ProductId).ToList(); UpdateTrueToShippingOut(detail.ShippingOutId, ItemIds); } } transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(result); }
private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { SalesInvoiceModel sales = new SalesInvoiceModel(); //sales.Batch = ""; //sales.ChequeName = ""; //sales.ChkType = ""; //sales.Quantity = 0; if (e.RowIndex >= 0) { DataGridViewRow row = dataGridView2.Rows[e.RowIndex]; //// rowCount++; // if (Convert.ToBoolean(dataGridView1.Rows[rowindex].Cells["X"].Value) == true) // { sales.Batch = row.Cells[0].Value.ToString(); sales.ChequeName = row.Cells[1].Value.ToString(); sales.ChkType = row.Cells[2].Value.ToString(); sales.Quantity = int.Parse(row.Cells[3].Value.ToString()); //row.Cells.Remove() //if (listofdata.Count == 0) //{ salesInvoice.Add(sales); //} BindingSource checkBind2 = new BindingSource(); checkBind2.DataSource = salesInvoice; dataGridView1.DataSource = checkBind2; dataGridView2.Rows.RemoveAt(e.RowIndex); ToTalChecks = int.Parse(dataGridView2.Rows[e.RowIndex].Cells[3].Value.ToString()) - int.Parse(dataGridView2.Rows[e.RowIndex].Cells[3].Value.ToString()); lblTotal.Text = ToTalChecks.ToString(); ToTalChecks = 0; } } }
/// <summary> /// edit invoice master. /// </summary> /// <returns></returns> public async Task <IActionResult> EditInvoiceMaster(int invoiceId) { ViewBag.CustomerList = await _ledger.GetLedgerSelectList((int)LedgerName.SundryDebtor); ViewBag.BankLedgerList = await _ledger.GetLedgerSelectList((int)LedgerName.BankAccount); ViewBag.AccountLedgerList = await _ledger.GetLedgerSelectList(0); ViewBag.TaxRegisterList = await _taxRegister.GetTaxRegisterSelectList(); ViewBag.CurrencyList = await _currency.GetCurrencySelectList(); ViewBag.TaxModelTypeList = EnumHelper.GetEnumListFor <TaxModelType>(); ViewBag.DiscountTypeList = EnumHelper.GetEnumListFor <DiscountType>(); SalesInvoiceModel salesInvoiceModel = await _salesInvoice.GetSalesInvoiceById(invoiceId); return(await Task.Run(() => { return PartialView("_AddInvoiceMaster", salesInvoiceModel); })); }
public async Task <int> DeleteAsync(int id) { using (var transaction = DbContext.Database.BeginTransaction()) { try { SalesInvoiceModel model = await salesInvoiceLogic.ReadByIdAsync(id); if (model != null) { SalesInvoiceModel salesInvoiceModel = new SalesInvoiceModel(); salesInvoiceModel = model; await salesInvoiceLogic.DeleteAsync(id); } } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(await DbContext.SaveChangesAsync()); }
private void DisplayOldSalesInvoiceList(int salesInvoiceNumber, ref DataTable dt) { //Get Sales Invoice List Details to be supplied to Global Report Datatable DataTable siListDT = new DataTable(); if (!proc.GetOldSalesInvoiceList(salesInvoiceNumber, ref siListDT)) { MessageBox.Show("Unable to connect to server. (proc.SalesInvoiceExist)\r\n" + proc.errorMessage); RefreshView(); return; } //Display values on Front End from Finished Table foreach (DataRow row in dt.Rows) { gSalesInvoiceFinished.ClientCode = row.Field <string>("ClientCode"); gSalesInvoiceFinished.SalesInvoiceDateTime = row.Field <DateTime>("SalesInvoiceDateTime"); gSalesInvoiceFinished.GeneratedBy = row.Field <string>("GeneratedBy"); gSalesInvoiceFinished.CheckedBy = row.Field <string>("CheckedBy"); gSalesInvoiceFinished.ApprovedBy = row.Field <string>("ApprovedBy"); gSalesInvoiceFinished.SalesInvoiceNumber = row.Field <double>("SalesInvoiceNumber"); gSalesInvoiceFinished.TotalAmount = row.Field <double>("TotalAmount"); gSalesInvoiceFinished.VatAmount = row.Field <double>("VatAmount"); gSalesInvoiceFinished.NetOfVatAmount = row.Field <double>("NetOfVatAmount"); dtpInvoiceDate.Value = gSalesInvoiceFinished.SalesInvoiceDateTime; cbCheckedBy.Text = gSalesInvoiceFinished.CheckedBy; cbApprovedBy.Text = gSalesInvoiceFinished.ApprovedBy; } foreach (DataRow row in siListDT.Rows) { SalesInvoiceModel line = new SalesInvoiceModel(); line.Batch = row.Field <string>("Batch"); line.checkName = row.Field <string>("CheckName"); line.checkType = row.Field <string>("ChkType"); line.deliveryDate = row.Field <DateTime>("deliverydate"); line.Quantity = Convert.ToInt32(row.Field <Int64>("Quantity")); line.drList = row.Field <string>("DRList"); line.unitPrice = row.Field <double>("UnitPrice"); line.lineTotalAmount = row.Field <double>("LineTotalAmount"); line.salesInvoiceDate = row.Field <DateTime>("SalesInvoiceDate"); if (gClient.ShortName == "PNB") { //ABANG MUNA //line.PurchaseOrderNumber = Convert.ToInt32(row.Field<Int64>("PurchaseOrderNumber")); } salesInvoiceList.Add(line); } //created 'list' variable column sorting by line for datagrid view var sortedList = salesInvoiceList .Select (i => new { i.Quantity, i.Batch, i.checkName, i.drList, i.checkType, i.salesInvoiceDate, i.unitPrice, i.lineTotalAmount }) .ToList(); dgvListToProcess.DataSource = sortedList; dgvListToProcess.ClearSelection(); gbSINo.Enabled = false; pnlActionButtons.Enabled = true; btnCancelSiRecord.Enabled = true; btnReprint.Enabled = true; btnReloadDrList.Enabled = true; btnPrintSalesInvoice.Enabled = false; btnViewSelected.Enabled = false; }
private void AddSelectedDRRow() { if (dgvDRList.SelectedRows != null && dgvDRList.SelectedRows.Count > 0) { foreach (DataGridViewRow row in dgvDRList.SelectedRows) { SalesInvoiceModel line = new SalesInvoiceModel(); line.Batch = row.Cells["batch Name"].Value.ToString(); line.checkName = row.Cells["check name"].Value.ToString(); line.checkType = row.Cells["check type"].Value.ToString(); line.salesInvoiceDate = DateTime.Parse(dtpInvoiceDate.Value.ToShortDateString()); line.deliveryDate = DateTime.Parse(row.Cells["Delivery Date"].Value.ToString()); line.Quantity = int.Parse(row.Cells["Quantity"].Value.ToString()); //Include Location field if PNB if (gClient.ShortName == "PNB") { line.Location = row.Cells["location"].Value.ToString(); } line.drList = proc.GetDRList(line.Batch, line.checkType, line.deliveryDate, line.Location); line.unitPrice = double.Parse(proc.GetUnitPrice(line.checkName).ToString("#.##")); line.lineTotalAmount = Math.Round(line.Quantity * line.unitPrice, 2); //Check if record is already inserted if (p.BatchRecordHasDuplicate(line, salesInvoiceList)) { MessageBox.Show("Selected Batch already added"); return; } //(Validation) Checing of Onhand quantity for PNB if (gClient.ShortName == "PNB") { frmMessageInput xfrm = new frmMessageInput(); xfrm.labelMessage = "Input Purchase Order Number:"; DialogResult result = xfrm.ShowDialog(); if (result == DialogResult.OK) { line.PurchaseOrderNumber = int.Parse(xfrm.userInput); double remainingQuantity = 0; //Check if quantity is sufficient if (!proc.IsQuantityOnHandSufficient(line.Quantity, line.checkName, line.PurchaseOrderNumber, ref remainingQuantity, ref salesInvoiceList)) { MessageBox.Show("Error on (Procedure ChequeQuantityIsSufficient) \r\n \r\n" + proc.errorMessage); return; } line.RemainingQuantity = remainingQuantity; } else if (result == DialogResult.Cancel) { return; } } salesInvoiceList.Add(line); } //created 'list' variable column sorting by line for datagrid view var sortedList = salesInvoiceList .Select (i => new { i.Quantity, i.Batch, i.checkName, i.drList, i.checkType, i.salesInvoiceDate, i.unitPrice, i.lineTotalAmount }) .ToList(); dgvListToProcess.DataSource = sortedList; dgvListToProcess.ClearSelection(); } else { MessageBox.Show("Please select at least one record"); } }
private void DeliveryOrderNumberGenerator(SalesInvoiceModel model) { SalesInvoiceModel lastData = DbSet.IgnoreQueryFilters().Where(w => w.SalesInvoiceType.Equals(model.SalesInvoiceType)).OrderByDescending(o => o.AutoIncreament).FirstOrDefault(); int YearNow = DateTime.Now.Year; int MonthNow = DateTime.Now.Month; var YearNowString = DateTime.Now.ToString("yy"); var MonthNowString = DateTime.Now.ToString("MM"); var formatNo = $"{ model.AutoIncreament}/4.1.0/{MonthNowString}.{YearNowString}"; if (model.SalesInvoiceType == "BNG") { model.DeliveryOrderNo = $"B.{formatNo}"; } else if (model.SalesInvoiceType == "BAB") { model.DeliveryOrderNo = $"BB.{formatNo}"; } else if (model.SalesInvoiceType == "BNS") { model.DeliveryOrderNo = $"BS.{formatNo}"; } else if (model.SalesInvoiceType == "BRG") { model.DeliveryOrderNo = $"G.{formatNo}"; } else if (model.SalesInvoiceType == "BAG") { model.DeliveryOrderNo = $"GG.{formatNo}"; } else if (model.SalesInvoiceType == "BGS") { model.DeliveryOrderNo = $"GS.{formatNo}"; } else if (model.SalesInvoiceType == "BLL") { model.DeliveryOrderNo = $"L.{formatNo}"; } else if (model.SalesInvoiceType == "BPF") { model.DeliveryOrderNo = $"F.{formatNo}"; } else if (model.SalesInvoiceType == "BSF") { model.DeliveryOrderNo = $"FS.{formatNo}"; } else if (model.SalesInvoiceType == "BPR") { model.DeliveryOrderNo = $"P.{formatNo}"; } else if (model.SalesInvoiceType == "BSR") { model.DeliveryOrderNo = $"PS.{formatNo}"; } else if (model.SalesInvoiceType == "BAV") { model.DeliveryOrderNo = $"V.{formatNo}"; } else if (model.SalesInvoiceType == "BON") { model.DeliveryOrderNo = $"O.{formatNo}"; } else if (model.SalesInvoiceType == "BGM") { model.DeliveryOrderNo = $"M.{formatNo}"; } else if (model.SalesInvoiceType == "GPF") { model.DeliveryOrderNo = $"F.{formatNo}"; } else if (model.SalesInvoiceType == "GPR") { model.DeliveryOrderNo = $"P.{formatNo}"; } else if (model.SalesInvoiceType == "RON") { model.DeliveryOrderNo = $"O.{formatNo}"; } else if (model.SalesInvoiceType == "BMK") { model.DeliveryOrderNo = $"BM.{formatNo}"; } else { model.DeliveryOrderNo = ""; } }
private void SalesInvoiceNumberGenerator(SalesInvoiceModel model, int index) { SalesInvoiceModel lastData = DbSet.IgnoreQueryFilters().Where(w => w.SalesInvoiceType.Equals(model.SalesInvoiceType)).OrderByDescending(o => o.AutoIncreament).FirstOrDefault(); int YearNow = DateTime.Now.Year; var YearNowString = DateTime.Now.ToString("yy"); if (lastData == null) { //Using this if SalesInvoiceType not declare index for each Type index = 0; //if (model.SalesInvoiceType == "BNG") //{ // index = 28; //} //else if (model.SalesInvoiceType == "BAB") //{ // index = 8; //} //else if (model.SalesInvoiceType == "BNS") //{ // index = 98; //} //else if (model.SalesInvoiceType == "RNG") //{ // index = 14; //} //else if (model.SalesInvoiceType == "BRG") //{ // index = 28; //} //else if (model.SalesInvoiceType == "BAG") //{ // index = 8; //} //else if (model.SalesInvoiceType == "BGS") //{ // index = 98; //} //else if (model.SalesInvoiceType == "RRG") //{ // index = 14; //} //else if (model.SalesInvoiceType == "BLL") //{ // index = 8; //} //else if (model.SalesInvoiceType == "BPF") //{ // index = 98; //} //else if (model.SalesInvoiceType == "BSF") //{ // index = 14; //} //else if (model.SalesInvoiceType == "RPF") //{ // index = 28; //} //else if (model.SalesInvoiceType == "BPR") //{ // index = 8; //} //else if (model.SalesInvoiceType == "BSR") //{ // index = 98; //} //else if (model.SalesInvoiceType == "RPR") //{ // index = 14; //} //else if (model.SalesInvoiceType == "BAV") //{ // index = 8; //} //else if (model.SalesInvoiceType == "BON") //{ // index = 98; //} //else if (model.SalesInvoiceType == "BGM") //{ // index = 14; //} //else if (model.SalesInvoiceType == "GPF") //{ // index = 28; //} //else if (model.SalesInvoiceType == "RGF") //{ // index = 8; //} //else if (model.SalesInvoiceType == "GPR") //{ // index = 98; //} //else if (model.SalesInvoiceType == "RGR") //{ // index = 14; //} //else if (model.SalesInvoiceType == "RON") //{ // index = 14; //} //else //{ // index = 0; //} model.AutoIncreament = 1 + index; model.SalesInvoiceNo = $"{YearNowString}{model.SalesInvoiceType}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { if (YearNow > lastData.CreatedUtc.Year) { model.AutoIncreament = 1 + index; model.SalesInvoiceNo = $"{YearNowString}{model.SalesInvoiceType}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { model.AutoIncreament = lastData.AutoIncreament + (1 + index); model.SalesInvoiceNo = $"{YearNowString}{model.SalesInvoiceType}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } } }
public async Task <int> UpdateAsync(int id, SalesInvoiceModel model) { salesInvoiceLogic.UpdateAsync(id, model); return(await DbContext.SaveChangesAsync()); }