Exemplo n.º 1
0
        public bool CreateReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem)
        {
            bool result = false;

            using (var dbContextTransaction = db.Database.BeginTransaction())
            {
                var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault();
                var item          = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault();
                try
                {
                    if (itemWarehouse == null)
                    {
                        ItemWarehouse iw = AddItemWarehouse(receiveItem, item);
                        db.ItemWarehouses.Add(iw);
                    }
                    else
                    {
                        UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1);
                        db.Entry(itemWarehouse).State = EntityState.Modified;
                    }

                    db.ReceiveItems.Add(receiveItem);

                    db.SaveChanges();
                    dbContextTransaction.Commit();
                    result = true;
                }
                catch (Exception err)
                {
                    dbContextTransaction.Rollback();
                    result = false;
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(long id)
        {
            ReceiveItem addItem = db.ReceiveItems.Find(id);
            bool        result  = itemInout.DeleteReceiveItem(db, addItem);

            //db.AddItems.Remove(addItem);
            //db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
 public void UpdateItemWarehouse(ItemWarehouse itemWarehouse, ReceiveItem receiveItem, Item item, int factor)
 {
     itemWarehouse.QtyBoxesIn           += receiveItem.QtyBoxes * factor;
     itemWarehouse.QtyKgIn              += receiveItem.QtyKg * factor;
     itemWarehouse.QtyBoxesOnhand       += receiveItem.QtyBoxes * factor;
     itemWarehouse.QtyKgOnhand          += receiveItem.QtyKg * factor;
     itemWarehouse.QtyTotalWeightIn     += (receiveItem.QtyKg * factor) + (receiveItem.QtyBoxes * item.BoxWeight) * factor;
     itemWarehouse.QtyTotalWeightOnhand += (receiveItem.QtyKg * factor) + (receiveItem.QtyBoxes * item.BoxWeight) * factor;
 }
Exemplo n.º 4
0
        public async Task <IActionResult> addCart(List <Item> items, int shoppingMallId, int branchId, DateTime productLotDate)
        {
            //check to seee if the items size >0
            if (items.Count > 0)
            {
                //create new cart object
                Receive cart = new Receive {
                    receiveDate    = DateTime.Now,
                    productLotDate = productLotDate,
                    shoppingmallID = shoppingMallId,
                    branchId       = branchId,
                };

                //add cart into carts context
                _context.Receive.Add(cart);

                //save change to the new cart
                //note thate when the new cart object is saved
                //the system will automatically assign the primary key(cartId) data for each cart data row
                await _context.SaveChangesAsync(); //save cart first

                //after the operation above, cart.cartId is accessible

                //create a list of cart items
                List <ReceiveItem> list1 = new List <ReceiveItem>();

                //loop throught each item in the items list
                foreach (Item item in items)
                {
                    //create a new object with the structure based on Model>CartItem.cs
                    var row = new ReceiveItem {
                        productId   = item.productId,
                        productName = item.productName,
                        productQty  = item.productQty,
                        receiveId   = cart.receiveId //cart Id go here
                    };
                    list1.Add(row);
                }//end loop

                //assign caritem list
                cart.receiveItem = list1;
                await _context.SaveChangesAsync(); //save cart first

                //step33: return Action to be call by client
                return(Json(new
                {
                    newUrl = Url.Action("Index")
                }
                            ));
            }
            else
            {
                return(Content("error data upload fail"));
            }
        }
Exemplo n.º 5
0
        public bool EditReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem)
        {
            bool result = false;

            using (var dbContextTransaction = db.Database.BeginTransaction())
            {
                var oldReceiveItem = db.ReceiveItems.Find(receiveItem.ID);

                try
                {
                    if (oldReceiveItem == null)
                    {
                        throw new System.InvalidOperationException("Could't find old values.");
                    }

                    var oldItemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == oldReceiveItem.ItemID && i.WarehouseID == oldReceiveItem.WarehouseID).FirstOrDefault();
                    var oldItem          = db.Items.Where(i => i.ID == oldReceiveItem.ItemID).FirstOrDefault();
                    if (oldItemWarehouse == null)
                    {
                        throw new System.InvalidOperationException("Could't find old values.");
                    }


                    UpdateItemWarehouse(oldItemWarehouse, oldReceiveItem, oldItem, -1);
                    db.Entry(oldItemWarehouse).State = EntityState.Modified;
                    db.SaveChanges();

                    var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault();
                    var item          = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault();
                    if (itemWarehouse == null)
                    {
                        ItemWarehouse iw = AddItemWarehouse(receiveItem, item);
                        db.ItemWarehouses.Add(iw);
                    }
                    else
                    {
                        UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1);
                    }
                    db.Entry(oldReceiveItem).State = EntityState.Detached;
                    db.Entry(receiveItem).State    = EntityState.Modified;
                    db.SaveChanges();
                    dbContextTransaction.Commit();
                    result = true;
                }
                catch (Exception err)
                {
                    // UpdateItemWarehouse(itemWarehouse, receiveItem, -1);
                    dbContextTransaction.Rollback();
                    result = false;
                }
            }
            return(result);
        }
Exemplo n.º 6
0
 public ActionResult Edit([Bind(Include = "ID,Date,ItemID,WarehouseID,Description,QtyBoxes,QtyKg,AddedDate,ModifiedDate,UserName")] ReceiveItem addItem)
 {
     if (ModelState.IsValid)
     {
         bool result = itemInout.EditReceiveItem(db, addItem);
         //db.Entry(addItem).State = EntityState.Modified;
         //db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ItemID      = new SelectList(db.Items, "ID", "Name", addItem.ItemID);
     ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID);
     return(View(addItem));
 }
Exemplo n.º 7
0
        public ActionResult Create([Bind(Include = "ID,Date,ItemID,WarehouseID,CompanyID,Description,QtyBoxes,QtyKg,AddedDate,UserName")] ReceiveItem addItem)
        {
            if (ModelState.IsValid)
            {
                // db.AddItems.Add(addItem);
                bool result = itemInout.CreateReceiveItem(db, addItem);
                //db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ItemID      = new SelectList(db.Items, "ID", "Name", addItem.ItemID);
            ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID);
            return(View(addItem));
        }
Exemplo n.º 8
0
        // GET: Stock/AddItems/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ReceiveItem addItem = db.ReceiveItems.Find(id);

            if (addItem == null)
            {
                return(HttpNotFound());
            }
            return(View(addItem));
        }
Exemplo n.º 9
0
        public ItemWarehouse AddItemWarehouse(ReceiveItem receiveItem, Item item)
        {
            ItemWarehouse iw = new ItemWarehouse();

            iw.ItemID                 = receiveItem.ItemID;
            iw.WarehouseID            = receiveItem.WarehouseID;
            iw.QtyBoxesIn             = receiveItem.QtyBoxes;
            iw.QtyKgIn                = receiveItem.QtyKg;
            iw.QtyBoxesOnhand         = receiveItem.QtyBoxes;
            iw.QtyKgOnhand            = receiveItem.QtyKg;
            iw.QtyTotalWeightIn       = receiveItem.QtyKg + (receiveItem.QtyBoxes * item.BoxWeight);
            iw.QtyTotalWeightOnhand   = receiveItem.QtyKg + (receiveItem.QtyBoxes * item.BoxWeight);
            iw.QtyTotalWeightReserved = 0;
            return(iw);
        }
Exemplo n.º 10
0
        // GET: Stock/AddItems/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ReceiveItem addItem = db.ReceiveItems.Find(id);

            if (addItem == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ItemID      = new SelectList(db.Items, "ID", "Name", addItem.ItemID);
            ViewBag.WarehouseID = new SelectList(db.Warehouses, "ID", "Name", addItem.WarehouseID);
            return(View(addItem));
        }
Exemplo n.º 11
0
        public HttpResponseMessage ItemRecUpdate(ReceiveItem _ItemRecModel)
        {
            try
            {
                bool conn = false;
                conn = db.Database.Exists();
                if (!conn)
                {
                    ConnectionTools.changeToLocalDB(db);
                    conn = db.Database.Exists();
                }

                if (conn)
                {
                    var _Rec = (from a in db.TBL_RECEIVE_ITEM where a.NEWRECEIVE_ID == _ItemRecModel.NEWRECEIVE_ID select a).FirstOrDefault();
                    _Rec.SELECT_BUSINESS_LOCATION_ID = _ItemRecModel.SELECT_BUSINESS_LOCATION_ID;
                    _Rec.RECEIVED_ITEM_ENTRY_NO      = _ItemRecModel.RECEIVED_ITEM_ENTRY_NO;
                    _Rec.BARCODE                  = _ItemRecModel.BARCODE;
                    _Rec.ITEM_NAME                = _ItemRecModel.ITEM_NAME;
                    _Rec.SEARCH_CODE              = _ItemRecModel.SEARCH_CODE;
                    _Rec.SUPPLIER_INVOICE_NO      = _ItemRecModel.SUPPLIER_INVOICE_NO;
                    _Rec.SUPPLIER_INVOICE_DATE    = _ItemRecModel.SUPPLIER_INVOICE_DATE;
                    _Rec.RECEIVE_DATE             = _ItemRecModel.RECEIVE_DATE;
                    _Rec.RECEIVED_ITEM_ON_DATE    = _ItemRecModel.RECEIVED_ITEM_ON_DATE;
                    _Rec.PO_NUMBER                = _ItemRecModel.PO_NUMBER;
                    _Rec.SUPPLIER_ID              = _ItemRecModel.SUPPLIER_ID;
                    _Rec.PAYMENT_TERMS            = _ItemRecModel.PAYMENT_TERMS;
                    _Rec.GODOWN_ID                = _ItemRecModel.GODOWN_ID;
                    _Rec.RECEIVING_EMPLOYEE       = _ItemRecModel.RECEIVING_EMPLOYEE;
                    _Rec.DISCOUNT_FLAT            = _ItemRecModel.DISCOUNT_FLAT;
                    _Rec.DISCOUNT_PERCENT         = _ItemRecModel.DISCOUNT_PERCENT;
                    _Rec.ADDTIONAL_CHARGES        = _ItemRecModel.ADDTIONAL_CHARGES;
                    _Rec.SUB_TOTAL_BEFORETAX      = _ItemRecModel.SUB_TOTAL_BEFORETAX;
                    _Rec.TOTAL_TAX_AMT            = _ItemRecModel.TOTAL_TAX_AMT;
                    _Rec.SUB_TOTAL                = _ItemRecModel.SUB_TOTAL;
                    _Rec.ROUND_OFF_ADJUSTMENTAMT  = _ItemRecModel.ROUND_OFF_ADJUSTMENTAMT;
                    _Rec.TOTAL_AMT                = _ItemRecModel.TOTAL_AMT;
                    _Rec.USE_SUPPLIER_ADVANCE_AMT = _ItemRecModel.USE_SUPPLIER_ADVANCE_AMT;
                    _Rec.GRAND_TOTAL              = _ItemRecModel.GRAND_TOTAL;
                    _Rec.NOTE                     = _ItemRecModel.NOTE;
                    _Rec.PO_NUMBER_ID             = _ItemRecModel.PO_NUMBER_ID;
                    _Rec.SUPPLIER                 = _ItemRecModel.SUPPLIER;
                    _Rec.BUSINESS_LOCATION        = _ItemRecModel.SELECT_BUSINESS_LOCATION;
                    _Rec.FILTER_HIERARCHY         = _ItemRecModel.FILTER_HIERARCHY;
                    _Rec.DISCOUNT_BEFOR_TAX       = _ItemRecModel.DISCOUNT_BEFOR_TAX;
                    _Rec.PAY_IN_CASH              = _ItemRecModel.PAY_IN_CASH;
                    _Rec.APPLY_FPR_EFFECTVE_PRICE = _ItemRecModel.APPLY_FPR_EFFECTVE_PRICE;
                    _Rec.AUTO_SAVE_IN_DRAFT       = _ItemRecModel.AUTO_SAVE_IN_DRAFT;
                    _Rec.FOCUS_LAST_ADD_ITEM      = _ItemRecModel.FOCUS_LAST_ADD_ITEM;
                    _Rec.ITEM_ENTRY_TEMPLATE      = _ItemRecModel.ITEM_ENTRY_TEMPLATE;
                    _Rec.INVOICE_DIS_AMT          = _ItemRecModel.INVOICE_DIS_AMT;
                    db.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, "success"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.ExpectationFailed));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                ConnectionTools.ChangeToRemoteDB(db);
            }
        }
Exemplo n.º 12
0
        public HttpResponseMessage CreateRecItem(ReceiveItem _ItemRecModel)
        {
            try
            {
                bool conn = false;
                conn = db.Database.Exists();
                if (!conn)
                {
                    ConnectionTools.changeToLocalDB(db);
                    conn = db.Database.Exists();
                }

                if (conn)
                {
                    TBL_RECEIVE_ITEM _Rec = new TBL_RECEIVE_ITEM();
                    _Rec.COMPANY_ID = _ItemRecModel.COMPANY_ID;
                    _Rec.SELECT_BUSINESS_LOCATION_ID = _ItemRecModel.SELECT_BUSINESS_LOCATION_ID;
                    _Rec.BUSINESS_LOCATION           = _ItemRecModel.SELECT_BUSINESS_LOCATION;
                    _Rec.RECEIVED_ITEM_ENTRY_NO      = _ItemRecModel.RECEIVED_ITEM_ENTRY_NO;
                    _Rec.BARCODE               = _ItemRecModel.BARCODE;
                    _Rec.ITEM_NAME             = _ItemRecModel.ITEM_NAME;
                    _Rec.SEARCH_CODE           = _ItemRecModel.SEARCH_CODE;
                    _Rec.SUPPLIER_INVOICE_NO   = _ItemRecModel.SUPPLIER_INVOICE_NO;
                    _Rec.SUPPLIER_INVOICE_DATE = _ItemRecModel.SUPPLIER_INVOICE_DATE;
                    _Rec.RECEIVE_DATE          = _ItemRecModel.RECEIVE_DATE;
                    _Rec.RECEIVED_ITEM_ON_DATE = _ItemRecModel.RECEIVED_ITEM_ON_DATE;
                    _Rec.PO_NUMBER_ID          = _ItemRecModel.PO_NUMBER_ID;
                    _Rec.PO_NUMBER             = _ItemRecModel.PO_NUMBER;
                    _Rec.SUPPLIER_ID           = _ItemRecModel.SUPPLIER_ID;
                    _Rec.SUPPLIER              = _ItemRecModel.SUPPLIER;
                    _Rec.PAYMENT_TERMS         = _ItemRecModel.PAYMENT_TERMS;
                    _Rec.GODOWN_ID             = _ItemRecModel.GODOWN_ID;
                    _Rec.GODOWN                   = _ItemRecModel.GODOWN;
                    _Rec.RECEIVING_EMPLOYEE       = _ItemRecModel.RECEIVING_EMPLOYEE;
                    _Rec.DISCOUNT_FLAT            = _ItemRecModel.DISCOUNT_FLAT;
                    _Rec.DISCOUNT_PERCENT         = _ItemRecModel.DISCOUNT_PERCENT;
                    _Rec.ADDTIONAL_CHARGES        = _ItemRecModel.ADDTIONAL_CHARGES;
                    _Rec.SUB_TOTAL_BEFORETAX      = _ItemRecModel.SUB_TOTAL_BEFORETAX;
                    _Rec.TOTAL_TAX_AMT            = _ItemRecModel.TOTAL_TAX_AMT;
                    _Rec.SUB_TOTAL                = _ItemRecModel.SUB_TOTAL;
                    _Rec.ROUND_OFF_ADJUSTMENTAMT  = _ItemRecModel.ROUND_OFF_ADJUSTMENTAMT;
                    _Rec.TOTAL_AMT                = _ItemRecModel.TOTAL_AMT;
                    _Rec.USE_SUPPLIER_ADVANCE_AMT = _ItemRecModel.USE_SUPPLIER_ADVANCE_AMT;
                    _Rec.GRAND_TOTAL              = _ItemRecModel.GRAND_TOTAL;
                    _Rec.IS_REC_WITH_PO           = _ItemRecModel.IS_REC_WITH_PO;
                    _Rec.NOTE                     = _ItemRecModel.NOTE;
                    _Rec.FILTER_HIERARCHY         = _ItemRecModel.FILTER_HIERARCHY;
                    _Rec.IS_DELETE                = false;
                    _Rec.DISCOUNT_BEFOR_TAX       = _ItemRecModel.DISCOUNT_BEFOR_TAX;
                    _Rec.PAY_IN_CASH              = _ItemRecModel.PAY_IN_CASH;
                    _Rec.APPLY_FPR_EFFECTVE_PRICE = _ItemRecModel.APPLY_FPR_EFFECTVE_PRICE;
                    _Rec.AUTO_SAVE_IN_DRAFT       = _ItemRecModel.AUTO_SAVE_IN_DRAFT;
                    _Rec.FOCUS_LAST_ADD_ITEM      = _ItemRecModel.FOCUS_LAST_ADD_ITEM;
                    _Rec.ITEM_ENTRY_TEMPLATE      = _ItemRecModel.ITEM_ENTRY_TEMPLATE;
                    _Rec.INVOICE_DIS_AMT          = _ItemRecModel.INVOICE_DIS_AMT;
                    db.TBL_RECEIVE_ITEM.Add(_Rec);
                    db.SaveChanges();


                    long rcvid = _Rec.NEWRECEIVE_ID;
                    if (_ItemRecModel.SelectedItem.Count > 0)
                    {
                        foreach (var item in _ItemRecModel.SelectedItem)
                        {
                            if (item.TOTAL_QTY != null || item.TOTAL_QTY != 0)
                            {
                                TBL_RECEIVE_ITEM_ITEMS RcvItem = new TBL_RECEIVE_ITEM_ITEMS();
                                RcvItem.RCV_ITEM_ID       = item.ITEM_ID;
                                RcvItem.RCV_ITEM_ENTRY_ID = Convert.ToInt32(rcvid);
                                // RcvItem.PO_DISCOUNT = item.Discount;
                                RcvItem.RCV_AMOUNT = item.SUB_TOTAL_AFTER_TAX;
                                RcvItem.RCV_QTY    = item.TOTAL_QTY;
                                //PoItem.PO_TAX = item.TotalTax;
                                RcvItem.RCV_TAX = item.SUB_TOTAL_AFTER_TAX - item.SUB_TOTAL_BEFORE_TAX;
                                db.TBL_RECEIVE_ITEM_ITEMS.Add(RcvItem);
                                db.SaveChanges();
                            }
                        }
                    }

                    return(Request.CreateResponse(HttpStatusCode.OK, "success"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.ExpectationFailed));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            finally
            {
                ConnectionTools.ChangeToRemoteDB(db);
            }
        }