public IActionResult ProcessSalesIndentById([FromRoute] long id) { SalesIndent ind = ind_repo.Find(id); ind.IsProcessed = true; ind.ProcessedDate = DateTime.Now; ind_repo.Update(ind); return(Ok("Processed")); }
public IActionResult DeleteSalesIndent(long id) { SalesIndent SalesIndent = ind_repo.Find(id); if (SalesIndent == null) { return(NotFound()); } ind_item_repo.DeleteRange(ind_item_repo.GetList(a => a.SalesIndentId == SalesIndent.SalesIndentId)); ind_repo.Delete(SalesIndent); return(Ok()); }
private string GenSIN() { try { SalesIndent lastOrder = ind_repo.GetLast(); string value = lastOrder.SalesIndentNumber; string number = Regex.Match(value, "[0-9]+$").Value; return(value.Substring(0, value.Length - number.Length) + (long.Parse(number) + 1).ToString().PadLeft(number.Length, '0')); } catch (NullReferenceException) { return("SIN00000001"); } }
public IActionResult GenerateSalesIndents([FromBody] IList <OrderTakingToIndentIntegrationViewModel> models) { IList <SalesIndent> indents = new List <SalesIndent>(); var b = models.GroupBy(c => c.StoreVisitId); ApplicationDbContext db = new ApplicationDbContext(); foreach (IList <OrderTakingToIndentIntegrationViewModel> si in b) { int countindents = 0; SalesIndent newindent = new SalesIndent(); IList <SalesIndentItem> newindentitems = new List <SalesIndentItem>(); foreach (OrderTakingToIndentIntegrationViewModel s in si) { countindents += 1; var a = item_repo.GetFirst(c => c.InventoryItemId == s.InventoryItemId); SalesIndentItem sii = new SalesIndentItem() { CompanyId = s.CompanyId, Quantity = s.Quantity, TradeOfferPricePerUnit = (a.TradeOfferAmount ?? 0), TotalTradeOfferPerItem = (a.TradeOfferAmount ?? 0) * a.MuInSu * s.Quantity, TotalTradePricePerItem = s.Quantity * a.MuInSu * (a.UnitPrice - (a.TradeOfferAmount ?? 0)), OrderTakingId = s.OrderTakingId, ItemGrossAmount = s.Quantity * a.UnitPrice * a.MuInSu, ItemDiscountAmount = ((s.ExtraDiscount ?? 0) * s.Quantity * a.MuInSu) + ((a.RegularDiscount ?? 0) * s.Quantity * a.MuInSu) + ((a.TradeOfferAmount ?? 0) * a.MuInSu * s.Quantity), ItemNetAmount = (s.Quantity * a.UnitPrice * a.MuInSu) - ((s.ExtraDiscount ?? 0) * s.Quantity * a.MuInSu) - (s.Quantity * (a.RegularDiscount ?? 0) * a.MuInSu) - ((a.TradeOfferAmount ?? 0) * a.MuInSu * s.Quantity), InventoryItemId = s.InventoryItemId }; newindentitems.Add(sii); long? subsectionid = db.Stores.Where(x => x.StoreId == s.StoreId).FirstOrDefault().SubsectionId; long? sectionid = db.Subsections.Where(y => y.SubsectionId == subsectionid).FirstOrDefault().SectionId; long? territoryid = db.Sections.Where(z => z.SectionId == sectionid).FirstOrDefault().TerritoryId; long? distributorid = db.Territories.Where(w => w.TerritoryId == territoryid).FirstOrDefault().DistributorId; Store shop = db.Stores.Where(v => v.StoreId == s.StoreId).FirstOrDefault(); if (countindents == 1) { newindent.Date = DateTime.Now; newindent.SalesIndentNumber = GenSIN(); newindent.StoreId = s.StoreId; newindent.CustomerName = shop?.ShopKeeper; newindent.CustomerCode = shop?.ShopName; newindent.StoreVisitId = s.StoreVisitId; newindent.DistributorId = distributorid; newindent.IsIssued = true; newindent.IssueDate = DateTime.Now; newindent.UserId = s.UserId; newindent.CompanyId = s.CompanyId; newindent.TotalQuantity = 0; newindent.TotalTradePrice = 0; newindent.TotalTradeOfferDiscount = 0; newindent.TotalTradeOffer = 0; } newindent.TotalQuantity += sii.Quantity; newindent.TotalTradePrice += sii.ItemGrossAmount; newindent.TotalTradeOfferDiscount += sii.ItemDiscountAmount; newindent.TotalTradeOffer += sii.ItemNetAmount; } newindent.SalesIndentItems = newindentitems; indents.Add(newindent); countindents = 0; } ind_repo.AddRange(indents); return(Ok("Integration successful")); }
public IActionResult AddSalesIndent([FromBody] SalesIndent model) { model.SalesIndentNumber = GenSIN(); ind_repo.Add(model); return(new OkObjectResult(new { SalesIndentID = model.SalesIndentId })); }
public IActionResult UpdateSalesIndent([FromBody] SalesIndent model) { ind_repo.Update(model); return(new OkObjectResult(new { SalesIndentID = model.SalesIndentId })); }