예제 #1
0
        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);
        }
예제 #2
0
        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 }));
            }
        }
예제 #3
0
 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 }));
     }
 }