Пример #1
0
        public HttpResponseMessage UpsertInventory(HttpRequestMessage request, tbInventory tbInventory)
        {
            Context             ctx           = new Context();
            InventoryRepository inventoryRepo = new InventoryRepository(ctx);
            StockRepository     stockRepo     = new StockRepository(ctx);
            tbInventory         UpdatedEntity = null;

            //if (tbInventory.ID > 0)
            //{
            //    UpdatedEntity = inventoryRepo.update(tbInventory);
            //}
            if (tbInventory.TransactionType == "2") //Transaction Type : Justifity
            {
                tbStock tbStock = stockRepo.GetDataSet().Where(a => a.IsDeleted != true && a.ItemGUID == tbInventory.ItemGUID).FirstOrDefault();
                if (tbStock.StockQty >= tbInventory.Qty)// Check the given quantity is enough or not in the stock table.
                {
                    tbInventory.FlowType       = "Justify";
                    tbInventory.Accesstime     = DateTime.UtcNow.ToLocalTime();
                    tbInventory.IsDeleted      = false;
                    tbInventory.UniqueID       = Guid.NewGuid();
                    tbInventory.TotalItemPrice = Convert.ToDecimal(tbInventory.ItemPrice * tbInventory.Qty);
                    UpdatedEntity = inventoryRepo.Add(tbInventory);

                    tbStock tbStock1 = stockRepo.GetDataSet().Where(a => a.IsDeleted != true && a.ItemGUID == tbInventory.ItemGUID).FirstOrDefault();
                    tbStock1.StockQty -= tbInventory.Qty;
                    stockRepo.update(tbStock1);
                }
                else
                {
                    return(request.CreateResponse <tbInventory>(HttpStatusCode.OK, UpdatedEntity));;
                }
            }
            else
            {
                tbInventory.FlowType       = "StockIn";
                tbInventory.Accesstime     = DateTime.UtcNow.ToLocalTime();
                tbInventory.IsDeleted      = false;
                tbInventory.UniqueID       = Guid.NewGuid();
                tbInventory.TotalItemPrice = Convert.ToDecimal(tbInventory.ItemPrice * tbInventory.Qty);

                UpdatedEntity = inventoryRepo.Add(tbInventory);
                tbStock tbStock = stockRepo.GetDataSet().Where(a => a.IsDeleted != true && a.ItemGUID == tbInventory.ItemGUID).FirstOrDefault();
                tbStock.StockQty += tbInventory.Qty;
                stockRepo.update(tbStock);
            }

            return(request.CreateResponse <tbInventory>(HttpStatusCode.OK, UpdatedEntity));
        }
Пример #2
0
        public IHttpActionResult PostInventory(InventoryViewModel inventory)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }



            try
            {
                _inventoryRepository.Add(inventory.ToModel());
            }
            catch (DbUpdateException)
            {
                if (InventoryExist(inventory.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = inventory.Id }, inventory));
        }
        public ActionResult Create([Bind(Include = "ID,Name,Code,TotalAmount")] Inventory inventory)
        {
            if (ModelState.IsValid)
            {
                db.Add(inventory);
                return(RedirectToAction("Index"));
            }

            return(View(inventory));
        }
Пример #4
0
        public async void Add_AppendsDataSet_WhenGivenObject()
        {
            var expected = new Beer
            {
                Id        = 100,
                Barrelage = 100,
                Name      = "Duff Foo Boo",
                Style     = "Ghost Porter"
            };

            await _testObject.Add(_clientId, expected);

            Assert.True(_data.TryGetValue(CreateKey(expected.Id), out var actual), "Item not found");
            Assert.Equal(expected, actual);
        }
Пример #5
0
 protected override void OnLoad(EventArgs e)
 {
     AddAction("افزودن", btn =>
     {
         var result = viewEngine.ViewInForm <view.Inventory.Editor>(null, true);
         if (result.DialogResult == DialogResult.OK)
         {
             IInventory inventory = new InventoryRepository();
             if (inventory.Add(result.Entity))
             {
                 MessageBox.Show("انبار با موفقیت ثبت شد", "پیام سیستم");
                 grid.AddItem(result.Entity);
                 grid.ResetBindings();
             }
             else
             {
                 MessageBox.Show("مشکل در ثبت انبار به وجود آمد", "پیام سیستم");
             }
         }
     });
     AddAction("ویرایش", btn =>
     {
         var result = viewEngine.ViewInForm <view.Inventory.Editor>(editor =>
         {
             editor.Entity = grid.CurrentItem;
         }, true);
         if (result.DialogResult == DialogResult.OK)
         {
             IInventory inventory = new InventoryRepository();
             if (inventory.Update(result.Entity))
             {
                 MessageBox.Show("انبار با موفقیت ویرایش شد", "پیام سیستم");
                 grid.ResetBindings();
             }
             else
             {
                 MessageBox.Show("مشکل در ویرایش انبار به وجود آمد", "پیام سیستم");
             }
         }
     });
     AddAction("حذف", btn =>
     {
         if (grid.CurrentItem == null)
         {
             return;
         }
         if (MessageBox.Show("آیا میخواهید حذف کنید ؟", "پیام سیستم", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             IInventory inventory = new InventoryRepository();
             int dn = inventory.CanDelete(grid.CurrentItem.InventoryId);
             if (dn != 0)
             {
                 MessageBox.Show("این مورد به علت وابستگی به" + dn + "مواردامکان پاک شدن ندارد", "پیام سیستم");
             }
             else
             {
                 if (inventory.Delete(grid.CurrentItem.InventoryId))
                 {
                     MessageBox.Show("انبار با موفقیت حذف شد", "پیام سیستم");
                     grid.RemoveCurrent();
                     grid.ResetBindings();
                 }
                 else
                 {
                     MessageBox.Show("مشکل در حذف انبار به وجود آمد", "پیام سیستم");
                 }
             }
         }
     });
     grid = new Framwork.GirdControl <Entities.Inventory>(this);
     grid.AddTextBoxColumn(p => p.CorporationId, "شناسه");
     grid.AddTextBoxColumn(p => p.Title, "نام انبار");
     grid.AddTextBoxColumn(p => p.CorporationId, "کد شرکت");
     grid.AddTextBoxColumn(p => p.Telephone, "شماره تماس");
     grid.AddTextBoxColumn(p => p.Address, "نشانی");
     grid.AddTextBoxColumn(p => p.Description, "توضیحات");
     grid.SetDataSource(Invs.GetAll());
     base.OnLoad(e);
 }
 public void Add(Inventory entity)
 {
     _inventoryRepository.Add(entity);
 }
Пример #7
0
        public HttpResponseMessage UpsertOrderDetail(HttpRequestMessage request, string items)
        {
            #region Instances

            Context ctx = new Context();

            ItemRepository        itemRepo        = new ItemRepository(ctx);
            StockRepository       stockRepo       = new StockRepository(ctx);
            OrderRepository       orderRepo       = new OrderRepository(ctx);
            OrderDetailRepository orderDetailRepo = new OrderDetailRepository(ctx);
            InventoryRepository   inventoryRepo   = new InventoryRepository(ctx);

            tbItem        tbItem        = new tbItem();
            tbStock       tbStock       = new tbStock();
            tbInventory   tbInventory   = new tbInventory();
            tbOrder       tbOrder       = new tbOrder();
            tbOrderDetail tbOrderDetail = new tbOrderDetail();
            tbOrder       UpdatedOrder  = null;
            tbOrderDetail UpdatedEntity = null;
            decimal       totalPrice    = 0;
            string        voucherCode   = Guid.NewGuid().ToString();

            #endregion

            #region insert order table

            tbOrder.StaffGUID      = "Default";
            tbOrder.StaffName      = "Default";
            tbOrder.CinemaId       = 1;
            tbOrder.CinemaName     = "";
            tbOrder.VoucherCode    = voucherCode;
            tbOrder.Accesstime     = DateTime.UtcNow.ToLocalTime();
            tbOrder.IsDeleted      = false;
            tbOrder.TotalPrice     = totalPrice;
            tbOrder.CreatedAt      = DateTime.UtcNow.ToLocalTime();
            tbOrder.Status         = "Default";
            tbOrder.ServiceFees    = 0;
            tbOrder.SubTotalPrice  = tbOrder.TotalPrice;
            tbOrder.TotalTax       = 0;
            tbOrder.TaxIncluded    = false;
            tbOrder.Currency       = "";
            tbOrder.TotalDiscounts = 0;
            tbOrder.TotalItemPrice = tbOrder.TotalPrice;
            tbOrder.DiscountCode   = "";
            tbOrder.Remark         = "";
            UpdatedOrder           = orderRepo.Add(tbOrder);

            #endregion

            List <string> itemList = items.Split(',').ToList();
            foreach (string item in itemList)
            {
                string[] idVal    = item.Split('|').ToArray();
                string   itemGUID = idVal[0];
                int      qty      = Convert.ToInt32(idVal[1]);
                tbItem = itemRepo.GetDataSet().Where(a => a.IsDeleted != true && a.UniqueID.ToString() == itemGUID).FirstOrDefault();

                //if(tbStock.StockQty>=qty)
                //{ }
                #region Add order detail.

                tbOrderDetail.ItemID     = tbItem.ID;
                tbOrderDetail.ItemName   = tbItem.Item;
                tbOrderDetail.ItemPrice  = tbItem.SellingPrice;
                tbOrderDetail.ItemQty    = qty;
                tbOrderDetail.TotalPrice = tbOrderDetail.ItemPrice * qty;
                totalPrice += Convert.ToDecimal(tbOrderDetail.TotalPrice);
                tbOrderDetail.VoucherCode = voucherCode;
                tbOrderDetail.OrderID     = UpdatedOrder.ID;
                tbOrderDetail.CinemaID    = tbOrder.CinemaId;
                tbOrderDetail.CinemaName  = tbOrder.CinemaName;
                tbOrderDetail.IsDeleted   = false;
                UpdatedEntity             = orderDetailRepo.Add(tbOrderDetail);

                #endregion

                #region update stock table.

                tbStock            = stockRepo.GetDataSet().Where(s => s.IsDeleted != true && s.ItemGUID.ToString() == itemGUID && s.CinemaID == tbOrder.CinemaId).FirstOrDefault();
                tbStock.StockQty   = tbStock.StockQty - qty;
                tbStock.Accesstime = DateTime.UtcNow.ToLocalTime();
                stockRepo.update(tbStock);

                #endregion

                #region update inventory table.

                tbInventory.FlowType        = "StockOut";
                tbInventory.ItemPrice       = tbItem.SellingPrice;
                tbInventory.TotalItemPrice  = totalPrice;
                tbInventory.IsDeleted       = false;
                tbInventory.Accesstime      = DateTime.UtcNow.ToLocalTime();
                tbInventory.UniqueID        = Guid.NewGuid();
                tbInventory.ItemGUID        = tbItem.UniqueID;
                tbInventory.ItemName        = tbItem.Item;
                tbInventory.TransactionType = "3"; //TransactionType:3 (StockOut)
                tbInventory.CinemaID        = tbOrder.CinemaId;
                tbInventory.Qty             = qty;
                inventoryRepo.Add(tbInventory);

                #endregion
            }

            #region update total price to order table

            tbOrder                = orderRepo.GetDataSet().Where(x => x.IsDeleted != true && x.VoucherCode == voucherCode).FirstOrDefault();
            tbOrder.TotalPrice     = totalPrice;
            tbOrder.TotalItemPrice = totalPrice;
            orderRepo.update(tbOrder);

            #endregion

            return(request.CreateResponse <tbOrderDetail>(HttpStatusCode.OK, UpdatedEntity));
        }