public string generateOrderNumber() { string result = ""; var year = DateTime.Now.Year; var month = DateTime.Now.Month; var data = _ctx.runningNumber.Where(f => f.Year == year && f.RunningMonth == month).FirstOrDefault(); if (data == null) { data = new RunningNumber(); data.Year = year; data.RunningMonth = month; data.Prefix = "ODR"; data.CurrentNo = 1; _ctx.runningNumber.Add(data); _ctx.SaveChanges(); result = $"{data.Year}/{data.RunningMonth}/{data.Prefix}/{data.CurrentNo.ToString().PadLeft(4,'0')}"; } else { data.CurrentNo++; _ctx.runningNumber.Update(data); _ctx.SaveChanges(); result = $"{data.Year}/{data.RunningMonth}/{data.Prefix}/{data.CurrentNo.ToString().PadLeft(4,'0')}"; } return(result); }
public IActionResult BuyItem([FromBody] RequestOrder req) { try { string OrderNumber = _repo.generateOrderNumber(); Orders model = new Orders(); model.OrderNumber = OrderNumber; model.OrderDate = DateTime.Now; model.CustomerID = req.CustomerID; model.RequiredDate = req.RequiredDate; model.ShippedDate = req.ShippedDate; model.Freight = req.Freight; model.ShipName = req.ShipName; model.ShipAddress = req.ShipAddress; model.ShipCity = req.ShipCity; model.ShipRegion = req.ShipRegion; model.ShipPostalCode = req.ShipPostalCode; model.ShipCountry = req.ShipCountry; _ctx.orders.Add(model); _ctx.SaveChanges(); model = _ctx.orders.Where(f => f.OrderNumber == OrderNumber).FirstOrDefault(); foreach (var item in req.list) { var productitem = _ctx.products.Where(f => f.ProductID == item.ProductID).FirstOrDefault(); if (productitem != null) { productitem.UnitsInStock = (short)(productitem.UnitsInStock ?? 0 - item.Quantity); _ctx.products.Update(productitem); _ctx.SaveChanges(); } OrderDetails modelDetails = new OrderDetails(); modelDetails.Discount = 0; modelDetails.OrderID = model.OrderID; modelDetails.ProductID = item.ProductID; modelDetails.UnitPrice = item.UnitPrice; modelDetails.Quantity = item.Quantity; _ctx.orderDetails.Add(modelDetails); _ctx.SaveChanges(); } return(Json(new { remarks = "transaksi Berhasil", status = true })); } catch (Exception err) { return(Json(new { remarks = err.ToString(), status = true })); } }
public IActionResult AddProduct([FromBody] Products req) { try { req.CreatedBy = "ADMIN"; req.CreatedDate = DateTime.Now; req.Active = true; _ctx.products.Add(req); _ctx.SaveChanges(); return(Json(new { remarks = "", status = true })); } catch (Exception e) { return(Json(new { remarks = e.ToString(), status = false })); } }