public IFluentSupplierInvoiceDetail CreateSupplierInvoiceDetailsByView(SupplierInvoiceView view) { Task <SupplierInvoice> supplierInvoiceTask = Task.Run(async() => await unitOfWork.supplierInvoiceRepository.GetEntityByNumber(view.SupplierInvoiceNumber)); Task.WaitAll(supplierInvoiceTask); if (supplierInvoiceTask.Result != null) { long supplierInvoiceId = supplierInvoiceTask.Result.SupplierInvoiceId; List <SupplierInvoiceDetail> list = new List <SupplierInvoiceDetail>(); foreach (var detailView in view.SupplierInvoiceDetailViews) { detailView.SupplierInvoiceId = supplierInvoiceId; SupplierInvoiceDetail newDetail = MapToEntity(detailView); list.Add(newDetail); } AddSupplierInvoiceDetails(list); processStatus = CreateProcessStatus.Insert; return(this as IFluentSupplierInvoiceDetail); } processStatus = CreateProcessStatus.Failed; return(this as IFluentSupplierInvoiceDetail); }
public async Task <CreateProcessStatus> CreateSupplierInvoiceDetailsByView(SupplierInvoiceView view) { var query = await(from e in _dbContext.SupplierInvoices where e.SupplierInvoiceNumber == view.SupplierInvoiceNumber select e).FirstOrDefaultAsync <SupplierInvoice>(); if (query != null) { long supplierInvoiceId = query.SupplierInvoiceId; foreach (var detail in view.SupplierInvoiceDetailViews) { detail.SupplierInvoiceId = supplierInvoiceId; SupplierInvoiceDetail newDetail = new SupplierInvoiceDetail(); applicationViewFactory.MapSupplierInvoiceDetailEntity(ref newDetail, detail); var queryDetail = await(from e in _dbContext.SupplierInvoiceDetails where e.ItemId == detail.ItemId && e.SupplierInvoiceDetailId == newDetail.SupplierInvoiceDetailId select e).FirstOrDefaultAsync <SupplierInvoiceDetail>(); if (queryDetail == null) { _dbContext.Set <SupplierInvoiceDetail>().Add(newDetail); } } return(CreateProcessStatus.Insert); } return(CreateProcessStatus.Failed); }
private SupplierInvoiceDetail MapToEntity(SupplierInvoiceDetailView inputObject) { Mapper mapper = new Mapper(); SupplierInvoiceDetail outObject = mapper.Map <SupplierInvoiceDetail>(inputObject); return(outObject); }
private async Task <SupplierInvoiceDetailView> MapToDetailView(SupplierInvoiceDetail inputObject) { SupplierInvoiceDetailView outObject = mapper.Map <SupplierInvoiceDetailView>(inputObject); await Task.Yield(); return(outObject); }
public async Task <IActionResult> DeleteSupplierInvoiceDetail([FromBody] SupplierInvoiceDetailView view) { SupplierInvoiceDetailModule invMod = new SupplierInvoiceDetailModule(); SupplierInvoiceDetail supplierInvoiceDetail = await invMod.SupplierInvoiceDetail.Query().MapToEntity(view); invMod.SupplierInvoiceDetail.DeleteSupplierInvoiceDetail(supplierInvoiceDetail).Apply(); return(Ok(view)); }
public SupplierInvoiceDetailView(SupplierInvoiceDetail supplierInvoiceDetail) { this.SupplierInvoiceDetailId = supplierInvoiceDetail.SupplierInvoiceDetailId; this.UnitOfMeasure = supplierInvoiceDetail.UnitOfMeasure; this.Quantity = supplierInvoiceDetail.Quantity; this.UnitPrice = supplierInvoiceDetail.UnitPrice; this.ExtendedCost = supplierInvoiceDetail.ExtendedCost; this.ItemId = supplierInvoiceDetail.ItemMaster.ItemId; this.ItemDescription = supplierInvoiceDetail.Description; this.SupplierInvoiceId = supplierInvoiceDetail.SupplierInvoiceId; this.DiscountAmount = supplierInvoiceDetail.DiscountAmount; this.DiscountPercent = supplierInvoiceDetail.DiscountPercent; }
public async Task TestAddUpdatDelete() { SupplierInvoiceDetailModule SupplierInvoiceDetailMod = new SupplierInvoiceDetailModule(); SupplierInvoice supplierInvoice = await SupplierInvoiceDetailMod.SupplierInvoice.Query().GetEntityById(2); Invoice invoice = await SupplierInvoiceDetailMod.Invoice.Query().GetEntityById(20); InvoiceDetail invoiceDetail = await SupplierInvoiceDetailMod.InvoiceDetail.Query().GetEntityById(21); ItemMaster itemMaster = await SupplierInvoiceDetailMod.ItemMaster.Query().GetEntityById(11); SupplierInvoiceDetailView view = new SupplierInvoiceDetailView() { InvoiceId = invoice?.InvoiceId, InvoiceDocument = invoice?.InvoiceDocument, InvoiceDetailId = invoiceDetail?.InvoiceDetailId, SupplierInvoiceId = supplierInvoice.SupplierInvoiceId, UnitPrice = 31.50M, Quantity = 4, UnitOfMeasure = "Each", ExtendedCost = 268M, ItemId = itemMaster.ItemId, Description = itemMaster.Description }; NextNumber nnNextNumber = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetNextNumber(); view.SupplierInvoiceDetailNumber = nnNextNumber.NextNumberValue; SupplierInvoiceDetail supplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().MapToEntity(view); SupplierInvoiceDetailMod.SupplierInvoiceDetail.AddSupplierInvoiceDetail(supplierInvoiceDetail).Apply(); SupplierInvoiceDetail newSupplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetEntityByNumber(view.SupplierInvoiceDetailNumber); Assert.NotNull(newSupplierInvoiceDetail); newSupplierInvoiceDetail.Description = "SupplierInvoiceDetail Test Update"; SupplierInvoiceDetailMod.SupplierInvoiceDetail.UpdateSupplierInvoiceDetail(newSupplierInvoiceDetail).Apply(); SupplierInvoiceDetailView updateView = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetViewById(newSupplierInvoiceDetail.SupplierInvoiceDetailId); Assert.Same(updateView.Description, "SupplierInvoiceDetail Test Update"); SupplierInvoiceDetailMod.SupplierInvoiceDetail.DeleteSupplierInvoiceDetail(newSupplierInvoiceDetail).Apply(); SupplierInvoiceDetail lookupSupplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetEntityById(view.SupplierInvoiceDetailId); Assert.Null(lookupSupplierInvoiceDetail); }
public async Task <IActionResult> AddSupplierInvoiceDetail([FromBody] SupplierInvoiceDetailView view) { SupplierInvoiceDetailModule invMod = new SupplierInvoiceDetailModule(); NextNumber nnSupplierInvoiceDetail = await invMod.SupplierInvoiceDetail.Query().GetNextNumber(); view.SupplierInvoiceDetailNumber = nnSupplierInvoiceDetail.NextNumberValue; SupplierInvoiceDetail supplierInvoiceDetail = await invMod.SupplierInvoiceDetail.Query().MapToEntity(view); invMod.SupplierInvoiceDetail.AddSupplierInvoiceDetail(supplierInvoiceDetail).Apply(); SupplierInvoiceDetailView newView = await invMod.SupplierInvoiceDetail.Query().GetViewByNumber(view.SupplierInvoiceDetailNumber); return(Ok(newView)); }
public IFluentSupplierInvoiceDetail AddSupplierInvoiceDetail(SupplierInvoiceDetail newObject) { unitOfWork.supplierInvoiceDetailRepository.AddObject(newObject); this.processStatus = CreateProcessStatus.Insert; return(this as IFluentSupplierInvoiceDetail); }
public IFluentSupplierInvoiceDetail DeleteSupplierInvoiceDetail(SupplierInvoiceDetail deleteObject) { unitOfWork.supplierInvoiceDetailRepository.DeleteObject(deleteObject); this.processStatus = CreateProcessStatus.Delete; return(this as IFluentSupplierInvoiceDetail); }
//SaveSupplierInvoice public JsonResult SaveSupplierInvoice(int Id, int SupplierID, string InvoiceDate, string InvoiceNo, string Remarks, int SupplierTypeId, string Details) { try { var IDetails = JsonConvert.DeserializeObject <List <SupplierInvoiceDetailVM> >(Details); List <SupplierInvoiceConsignmentVM> AWBAllocationall = new List <SupplierInvoiceConsignmentVM>(); List <SupplierInvoiceConsignmentVM> AWBAllocation = new List <SupplierInvoiceConsignmentVM>(); AWBAllocationall = (List <SupplierInvoiceConsignmentVM>)Session["SIAWBAllocation"]; var Supplierinvoice = (from d in db.SupplierInvoices where d.SupplierInvoiceID == Id select d).FirstOrDefault(); if (Supplierinvoice == null) { Supplierinvoice = new SupplierInvoice(); } else { var details = (from d in db.SupplierInvoiceDetails where d.SupplierInvoiceID == Supplierinvoice.SupplierInvoiceID select d).ToList(); db.SupplierInvoiceDetails.RemoveRange(details); db.SaveChanges(); var consignmentdetails = (from d in db.SupplierInvoiceConsignments where d.SupplierInvoiceId == Supplierinvoice.SupplierInvoiceID select d).ToList(); db.SupplierInvoiceConsignments.RemoveRange(consignmentdetails); db.SaveChanges(); } Supplierinvoice.SupplierID = SupplierID; Supplierinvoice.InvoiceDate = Convert.ToDateTime(InvoiceDate); Supplierinvoice.InvoiceNo = InvoiceNo; Supplierinvoice.AccompanyID = Convert.ToInt32(Session["CurrentCompanyID"]); Supplierinvoice.BranchId = Convert.ToInt32(Session["CurrentBranchID"]); Supplierinvoice.FyearID = Convert.ToInt32(Session["fyearid"]); Supplierinvoice.InvoiceTotal = IDetails.Sum(d => d.Value); Supplierinvoice.StatusClose = false; Supplierinvoice.IsDeleted = false; Supplierinvoice.Remarks = Remarks; Supplierinvoice.SupplierTypeId = SupplierTypeId; if (Supplierinvoice.SupplierInvoiceID == 0) { db.SupplierInvoices.Add(Supplierinvoice); } db.SaveChanges(); foreach (var item in IDetails) { var InvoiceDetail = new SupplierInvoiceDetail(); InvoiceDetail.SupplierInvoiceID = Supplierinvoice.SupplierInvoiceID; InvoiceDetail.AcHeadID = item.AcHeadId; InvoiceDetail.Particulars = item.Particulars; InvoiceDetail.Quantity = item.Quantity; InvoiceDetail.Rate = item.Rate; InvoiceDetail.CurrencyID = item.CurrencyID; InvoiceDetail.CurrencyAmount = item.CurrencyAmount; InvoiceDetail.Amount = item.Amount; InvoiceDetail.TaxPercentage = item.TaxPercentage; InvoiceDetail.Value = item.Value; db.SupplierInvoiceDetails.Add(InvoiceDetail); db.SaveChanges(); //adding consignment referece to this entry int acheadid = Convert.ToInt32(item.AcHeadId); if (AWBAllocationall != null) { var list = AWBAllocationall.Where(cc => cc.AcHeadId == acheadid).ToList(); if (list != null) { foreach (var item2 in list) { SupplierInvoiceConsignment accons = new SupplierInvoiceConsignment(); accons.SupplierInvoiceId = Supplierinvoice.SupplierInvoiceID; accons.SupplierInvoiceDetailId = item.SupplierInvoiceDetailID; accons.AcHeadId = acheadid; accons.InScanID = Convert.ToInt32(item2.InScanID); accons.Amount = item2.Amount; db.SupplierInvoiceConsignments.Add(accons); db.SaveChanges(); } } } } PickupRequestDAO dao = new PickupRequestDAO(); dao.GenerateSupplierInvoicePosting(Supplierinvoice.SupplierInvoiceID); return(Json(new { status = "ok", message = "Invoice Submitted Successfully!" }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(new { status = "failed", message = e.Message.ToString() }, JsonRequestBehavior.AllowGet)); } }