public void Mapping_With_AutoMapper_Profiles() { var configuration = new MapperConfiguration(cfg => { cfg.AddProfile <SalesInvoiceMapper>(); cfg.AddProfile <SalesInvoiceDetailMapper>(); cfg.AddProfile <SalesInvoiceItemMapper>(); }); var mapper = configuration.CreateMapper(); SalesInvoiceViewModel salesInvoiceViewModel = new SalesInvoiceViewModel { Id = 1 }; SalesInvoiceModel salesInvoiceModel = mapper.Map <SalesInvoiceModel>(salesInvoiceViewModel); Assert.Equal(salesInvoiceViewModel.Id, salesInvoiceModel.Id); SalesInvoiceDetailViewModel salesInvoiceDetailViewModel = new SalesInvoiceDetailViewModel { Id = 1 }; SalesInvoiceDetailModel salesInvoiceDetailModel = mapper.Map <SalesInvoiceDetailModel>(salesInvoiceDetailViewModel); Assert.Equal(salesInvoiceDetailViewModel.Id, salesInvoiceDetailModel.Id); SalesInvoiceItemViewModel salesInvoiceItemViewModel = new SalesInvoiceItemViewModel { Id = 1 }; SalesInvoiceItemModel salesInvoiceItemModel = mapper.Map <SalesInvoiceItemModel>(salesInvoiceItemViewModel); Assert.Equal(salesInvoiceItemViewModel.Id, salesInvoiceItemModel.Id); }
public async Task <bool> UpdateSalesInvoiceDetail(SalesInvoiceDetailModel salesInvoiceDetailModel) { bool isUpdated = false; // get record. Salesinvoicedetail salesInvoiceDetail = await GetByIdAsync(w => w.InvoiceDetId == salesInvoiceDetailModel.InvoiceDetId); if (null != salesInvoiceDetail) { // assign values. salesInvoiceDetail.InvoiceId = salesInvoiceDetailModel.InvoiceId; salesInvoiceDetail.SrNo = salesInvoiceDetailModel.SrNo; salesInvoiceDetail.Description = salesInvoiceDetailModel.Description; salesInvoiceDetail.UnitOfMeasurementId = salesInvoiceDetailModel.UnitOfMeasurementId; salesInvoiceDetail.Quantity = salesInvoiceDetailModel.Quantity; salesInvoiceDetail.PerUnit = salesInvoiceDetailModel.PerUnit; salesInvoiceDetail.UnitPrice = salesInvoiceDetailModel.UnitPrice; salesInvoiceDetail.GrossAmountFc = 0; salesInvoiceDetail.GrossAmount = 0; salesInvoiceDetail.TaxAmountFc = 0; salesInvoiceDetail.TaxAmount = 0; salesInvoiceDetail.NetAmountFc = 0; salesInvoiceDetail.NetAmount = 0; isUpdated = await Update(salesInvoiceDetail); } if (isUpdated != false) { await UpdateSalesInvoiceDetailAmount(salesInvoiceDetailModel.InvoiceDetId); await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceDetail.InvoiceId); } return(isUpdated); // returns. }
public void Read_Return_Success() { //Setup string testName = GetCurrentMethod(); var dbContext = _dbContext(testName); IIdentityService identityService = new IdentityService { Username = "******" }; var model = new SalesInvoiceDetailModel() { SalesInvoiceItems = new List <SalesInvoiceItemModel>() { new SalesInvoiceItemModel() } }; dbContext.SalesInvoiceDetails.Add(model); dbContext.SaveChanges(); //Act SalesInvoiceDetailLogic unitUnderTest = new SalesInvoiceDetailLogic(GetServiceProvider(testName).Object, identityService, dbContext); var result = unitUnderTest.Read(1, 1, "{}", new List <string>() { "" }, null, "{}"); //Assert Assert.True(0 < result.Data.Count); Assert.NotEmpty(result.Data); }
private async Task <SalesInvoiceDetailModel> AssignValueToModel(Salesinvoicedetail salesInvoiceDetail) { return(await Task.Run(() => { SalesInvoiceDetailModel salesInvoiceDetailModel = new SalesInvoiceDetailModel(); salesInvoiceDetailModel.InvoiceDetId = salesInvoiceDetail.InvoiceDetId; salesInvoiceDetailModel.InvoiceId = salesInvoiceDetail.InvoiceId; salesInvoiceDetailModel.SrNo = salesInvoiceDetail.SrNo; salesInvoiceDetailModel.Description = salesInvoiceDetail.Description; salesInvoiceDetailModel.UnitOfMeasurementId = salesInvoiceDetail.UnitOfMeasurementId; salesInvoiceDetailModel.Quantity = salesInvoiceDetail.Quantity; salesInvoiceDetailModel.PerUnit = salesInvoiceDetail.PerUnit; salesInvoiceDetailModel.UnitPrice = salesInvoiceDetail.UnitPrice; salesInvoiceDetailModel.GrossAmountFc = salesInvoiceDetail.GrossAmountFc; salesInvoiceDetailModel.GrossAmount = salesInvoiceDetail.GrossAmount; salesInvoiceDetailModel.TaxAmountFc = salesInvoiceDetail.TaxAmountFc; salesInvoiceDetailModel.TaxAmount = salesInvoiceDetail.TaxAmount; salesInvoiceDetailModel.NetAmountFc = salesInvoiceDetail.NetAmountFc; salesInvoiceDetailModel.NetAmount = salesInvoiceDetail.NetAmount; //--#### salesInvoiceDetailModel.UnitOfMeasurementName = null != salesInvoiceDetail.UnitOfMeasurement ? salesInvoiceDetail.UnitOfMeasurement.UnitOfMeasurementName : null; return salesInvoiceDetailModel; })); }
public async Task <int> CreateSalesInvoiceDetail(SalesInvoiceDetailModel salesInvoiceDetailModel) { int salesInvoiceDetailId = 0; // assign values. Salesinvoicedetail salesInvoiceDetail = new Salesinvoicedetail(); salesInvoiceDetail.InvoiceId = salesInvoiceDetailModel.InvoiceId; salesInvoiceDetail.SrNo = salesInvoiceDetailModel.SrNo; salesInvoiceDetail.Description = salesInvoiceDetailModel.Description; salesInvoiceDetail.UnitOfMeasurementId = salesInvoiceDetailModel.UnitOfMeasurementId; salesInvoiceDetail.Quantity = salesInvoiceDetailModel.Quantity; salesInvoiceDetail.PerUnit = salesInvoiceDetailModel.PerUnit; salesInvoiceDetail.UnitPrice = salesInvoiceDetailModel.UnitPrice; salesInvoiceDetail.GrossAmountFc = 0; salesInvoiceDetail.GrossAmount = 0; salesInvoiceDetail.TaxAmountFc = 0; salesInvoiceDetail.TaxAmount = 0; salesInvoiceDetail.NetAmountFc = 0; salesInvoiceDetail.NetAmount = 0; if (salesInvoiceDetailId != 0) { await UpdateSalesInvoiceDetailAmount(salesInvoiceDetailId); await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceDetail.InvoiceId); } await Create(salesInvoiceDetail); salesInvoiceDetailId = salesInvoiceDetail.InvoiceDetId; return(salesInvoiceDetailId); // returns. }
public async Task <JsonResult> SaveInvoiceDetail(SalesInvoiceDetailModel salesInvoiceDetailModel) { JsonData <JsonStatus> data = new JsonData <JsonStatus>(new JsonStatus()); if (ModelState.IsValid) { if (salesInvoiceDetailModel.InvoiceDetId > 0) { // update record. if (true == await _salesInvoiceDetail.UpdateSalesInvoiceDetail(salesInvoiceDetailModel)) { data.Result.Status = true; } } else { // add new record. if (await _salesInvoiceDetail.CreateSalesInvoiceDetail(salesInvoiceDetailModel) > 0) { data.Result.Status = true; } } } return(Json(data)); }
/// <summary> /// edit invoice detail. /// </summary> /// <param name="invoiceDetId"></param> /// <returns></returns> public async Task <IActionResult> EditInvoiceDetail(int invoiceDetId) { ViewBag.UnitOfMeasurementList = await _unitOfMeasurement.GetUnitOfMeasurementSelectList(); SalesInvoiceDetailModel salesInvoiceDetailModel = await _salesInvoiceDetail.GetSalesInvoiceDetailById(invoiceDetId); return(await Task.Run(() => { return PartialView("_AddInvoiceDetail", salesInvoiceDetailModel); })); }
public async Task <SalesInvoiceDetailModel> GetSalesInvoiceDetailById(int salesInvoiceDetailId) { SalesInvoiceDetailModel salesInvoiceDetailModel = null; IList <SalesInvoiceDetailModel> salesInvoiceModelDetailList = await GetSalesInvoiceDetailList(salesInvoiceDetailId, 0); if (null != salesInvoiceModelDetailList && salesInvoiceModelDetailList.Any()) { salesInvoiceDetailModel = salesInvoiceModelDetailList.FirstOrDefault(); } return(salesInvoiceDetailModel); // returns. }
/// <summary> /// add invoice detail. /// </summary> /// <param name="invoiceId"></param> /// <returns></returns> public async Task <IActionResult> AddInvoiceDetail(int invoiceId) { ViewBag.UnitOfMeasurementList = await _unitOfMeasurement.GetUnitOfMeasurementSelectList(); SalesInvoiceDetailModel salesInvoiceDetailModel = new SalesInvoiceDetailModel(); salesInvoiceDetailModel.InvoiceId = invoiceId; salesInvoiceDetailModel.SrNo = await _salesInvoiceDetail.GenerateSrNo(invoiceId); return(await Task.Run(() => { return PartialView("_AddInvoiceDetail", salesInvoiceDetailModel); })); }
public async Task <int> CreateSalesInvoiceDetailTax(SalesInvoiceDetailTaxModel salesInvoiceDetailTaxModel) { int salesInvoiceDetailTaxId = 0; int multiplier = 1; SalesInvoiceDetailModel salesInvoiceDetailModel = null; salesInvoiceDetailModel = await salesInvoiceDetail.GetSalesInvoiceDetailById((int)salesInvoiceDetailTaxModel.InvoiceDetId); // assign values. Salesinvoicedetailtax salesInvoiceDetailTax = new Salesinvoicedetailtax(); salesInvoiceDetailTax.InvoiceDetId = salesInvoiceDetailTaxModel.InvoiceDetId; salesInvoiceDetailTax.SrNo = salesInvoiceDetailTaxModel.SrNo; salesInvoiceDetailTax.TaxLedgerId = salesInvoiceDetailTaxModel.TaxLedgerId; salesInvoiceDetailTax.TaxPercentageOrAmount = salesInvoiceDetailTaxModel.TaxPercentageOrAmount; salesInvoiceDetailTax.TaxPerOrAmountFc = salesInvoiceDetailTaxModel.TaxPerOrAmountFc; if (DiscountType.Percentage.ToString() == salesInvoiceDetailTaxModel.TaxPercentageOrAmount) { salesInvoiceDetailTaxModel.TaxAmountFc = (salesInvoiceDetailModel.GrossAmountFc * salesInvoiceDetailTaxModel.TaxPerOrAmountFc) / 100; } else { salesInvoiceDetailTaxModel.TaxAmountFc = salesInvoiceDetailTaxModel.TaxPerOrAmountFc; } if (TaxAddOrDeduct.Deduct.ToString() == salesInvoiceDetailTaxModel.TaxAddOrDeduct) { multiplier = -1; } salesInvoiceDetailTax.TaxAddOrDeduct = salesInvoiceDetailTaxModel.TaxAddOrDeduct; salesInvoiceDetailTax.TaxAmountFc = multiplier * salesInvoiceDetailTaxModel.TaxAmountFc; salesInvoiceDetailTax.TaxAmount = multiplier * salesInvoiceDetailTaxModel.TaxAmount; salesInvoiceDetailTax.Remark = salesInvoiceDetailTaxModel.Remark; await Create(salesInvoiceDetailTax); salesInvoiceDetailTaxId = salesInvoiceDetailTax.InvoiceDetTaxId; if (salesInvoiceDetailTaxId != 0) { await salesInvoiceDetail.UpdateSalesInvoiceDetailAmount(salesInvoiceDetailTax.InvoiceDetId); salesInvoiceDetailTax = await GetByIdAsync(w => w.InvoiceDetTaxId == salesInvoiceDetailTaxModel.InvoiceDetTaxId); await salesInvoice.UpdateSalesInvoiceMasterAmount(salesInvoiceDetailTax.InvoiceDet.InvoiceId); } return(salesInvoiceDetailTaxId); // returns. }
public override async void UpdateAsync(long id, SalesInvoiceModel model) { try { if (model.SalesInvoiceDetails != null) { HashSet <long> detailIds = salesInvoiceDetailLogic.GetIds(id); foreach (var itemId in detailIds) { SalesInvoiceDetailModel data = model.SalesInvoiceDetails.FirstOrDefault(prop => prop.Id.Equals(itemId)); if (data == null) { await salesInvoiceDetailLogic.DeleteAsync(itemId); } else { salesInvoiceDetailLogic.UpdateAsync(itemId, data); } } foreach (SalesInvoiceDetailModel item in model.SalesInvoiceDetails) { if (item.Id == 0) { salesInvoiceDetailLogic.Create(item); } } } EntityExtension.FlagForUpdate(model, IdentityService.Username, "sales-service"); DbSet.Update(model); } catch (Exception ex) { throw ex; } }