Beispiel #1
0
        protected override MBaseModel createObject()
        {
            mv = new MInventoryItem(new CTable(""));
            mv.IsVatEligible = true;
            mv.IsForBorrow   = false;
            mv.CreateDefaultValue();

            String categoryId = loadParam.GenericType;

            if (loadParam.Mode.Equals("A"))
            {
                if (!categoryId.Equals(""))
                {
                    mv.ItemCategory = categoryId;
                }
            }

            return(mv);
        }
Beispiel #2
0
        private MInventoryItem CurrentInventoryItem(MInventoryItem pMInventoryItem, MInventoryItem pMInventoryOldItem, string pMessageException, int pIdInventory)
        {
            if (pMInventoryItem == null)
            {
                throw new ArgumentNullException(nameof(pMInventoryItem));
            }
            pMInventoryItem              = pMInventoryOldItem;
            pMInventoryItem.LListStatus  = new List <SelectListItem>();
            pMInventoryItem.LListProduct = new List <SelectListItem>();
            pMInventoryItem.LListStatus  = LStatus.Bll_getListStatusByIdObject(pMInventoryItem.LObject.LIdObject).MListAllStatus();
            pMInventoryItem.LListProduct = LiProduct.bll_GetAllProduct().MListAllProduct(true);
            pMInventoryItem.LInventory   = new MInventory();
            var lObInventory = this.LInventory.bll_GetInventoryById(pIdInventory);

            pMInventoryItem.LInventory.LIdInventory   = lObInventory.LIdInventory;
            pMInventoryItem.LInventory.LNameInventory = lObInventory.LNameInventory;
            pMInventoryItem.LMessageException         = pMessageException;
            return(pMInventoryItem);
        }
Beispiel #3
0
        private void showEditWindow()
        {
            if (!CHelper.VerifyAccessRight("INVENTORY_ITEM_VIEW"))
            {
                return;
            }

            MInventoryItem m = (MInventoryItem)currentObj;

            String        caption = CLanguage.getValue("edit") + " " + CLanguage.getValue("inventory_item");
            CWinLoadParam param   = new CWinLoadParam();

            param.Caption           = caption;
            param.GenericType       = m.ItemCategory;
            param.Mode              = "E";
            param.ActualView        = currentObj;
            param.ParentItemSources = itemSources;
            FactoryWindow.ShowWindow("WinAddEditInventoryItem", param);
        }
Beispiel #4
0
        public override Tuple <CTable, ObservableCollection <MBaseModel> > QueryData()
        {
            items = OnixWebServiceAPI.GetListAPI("GetInventoryItemList", "ITEM_LIST", model.GetDbObject());
            lastObjectReturned = OnixWebServiceAPI.GetLastObjectReturned();

            itemSources.Clear();
            int idx = 0;

            foreach (CTable o in items)
            {
                MInventoryItem v = new MInventoryItem(o);

                v.RowIndex = idx;
                itemSources.Add(v);
                idx++;
            }

            Tuple <CTable, ObservableCollection <MBaseModel> > tuple = new Tuple <CTable, ObservableCollection <MBaseModel> >(lastObjectReturned, itemSources);

            return(tuple);
        }
        private void mnuItemCopy_Click(object sender, RoutedEventArgs e)
        {
            CUtil.EnableForm(false, this);
            CTable newobj = OnixWebServiceAPI.CopyInventoryItem(currentViewObj.GetDbObject());

            if (newobj != null)
            {
                MInventoryItem ivd = new MInventoryItem(newobj);
                itemsSourceGrid.Insert(0, ivd);

                CMasterReference.Instance.LoadItemCategoriesTree();
                rowCount         = rowCount + 1;
                lblTotal.Content = CUtil.FormatInt(rowCount.ToString());
            }
            else
            {
                //Error here
                CHelper.ShowErorMessage(OnixWebServiceAPI.GetLastErrorDescription(), "ERROR_USER_ADD", null);
            }

            CUtil.EnableForm(true, this);
        }
Beispiel #6
0
        private void LoadData()
        {
            String type = "";

            this.Title = Caption;

            CTable t = new CTable("INVENTORY_ITEM");

            vw = new MInventoryItem(t);
            vw.CreateDefaultValue();

            DataContext = vw;

            CUtil.EnableForm(false, this);

            if (Mode.Equals("E"))
            {
                CTable m = OnixWebServiceAPI.GetInventoryItemBalanceInfo(actualView.GetDbObject());
                if (m != null)
                {
                    //actualView.GetDbObject().AddChildArray("CURRENT_BALANCE_ITEM", m.GetChildArray("CURRENT_BALANCE_ITEM"));
                    vw.SetDbObject(m);
                    vw.NotifyAllPropertiesChanged();

                    type = vw.ItemType;
                    lkupItem.SelectedObject = vw;
                    vw.InitBalanceItem();
                }
            }

            lsvCurrentBalance.ItemsSource = vw.BalanceItems;

            //CUtil.LoadMasterRefCombo(cboType, true, MasterRefEnum.MASTER_ITEM_TYPE, type);

            isModified = false;

            CUtil.EnableForm(true, this);
        }
Beispiel #7
0
 public ActionResult Edit(int id, MInventoryItem pMInventoryItem)
 {
     try
     {
         MInventoryItem lInventoryItem = new MInventoryItem();
         this.ModelState.Remove(EFields.LFieldNameProduct);
         this.ModelState.Remove(EFields.LFieldCodeProduct);
         if (this.ModelState.IsValid)
         {
             string lMessage = this.LInventoryItem.bll_UpdateInventoryITem(id, Convert.ToInt32(pMInventoryItem.LInventory.LIdInventory), Convert.ToInt32(pMInventoryItem.LProduct.LIdProduct), Convert.ToDecimal(pMInventoryItem.LQtySellable), Convert.ToDecimal(pMInventoryItem.LQtyNonSellable), Convert.ToInt32(this.Request.Form[EFields.LFieldListObject]), this.Request.Form[EFields.LFieldListStatus]);
             if (lMessage == null)
             {
                 return(this.RedirectToAction("Index", new { id = pMInventoryItem.LInventory.LIdInventory }));
             }
             return(this.View(this.CurrentInventoryItem(lInventoryItem, pMInventoryItem, lMessage, pMInventoryItem.LInventory.LIdInventory)));
         }
         return(this.View(this.CurrentInventoryItem(lInventoryItem, pMInventoryItem, "Debe completar los campos obligatorios", pMInventoryItem.LInventory.LIdInventory)));
     }
     catch (Exception e)
     {
         MInventoryItem lInventoryItemExc = new MInventoryItem();
         return(this.View(this.CurrentInventoryItem(lInventoryItemExc, pMInventoryItem, e.Message, pMInventoryItem.LInventory.LIdInventory)));
     }
 }
        public static MInventoryItem MInventoryItemById(this BoInventoryItem pInventoryItem)
        {
            var oMInventoryItem = new MInventoryItem
            {
                LStatus = new MStatus
                {
                    LIdStatus = pInventoryItem.LStatus.LIdStatus,
                    LDsEstado = pInventoryItem.LStatus.LDsEstado
                },
                LListStatus  = new List <SelectListItem>(),
                LListProduct = new List <SelectListItem>(),
                LProduct     = new MProduct
                {
                    LIdProduct   = pInventoryItem.LProduct.LIdProduct,
                    LNameProduct = pInventoryItem.LProduct.LNameProduct
                },
                LIdInventoryItem = pInventoryItem.LIdInventoryItem,
                LInventory       = new MInventory
                {
                    LIdInventory   = pInventoryItem.LInventory.LIdInventory,
                    LNameInventory = pInventoryItem.LInventory.LNameInventory
                },
                LQtySellable    = pInventoryItem.LQtySellable,
                LQtyNonSellable = pInventoryItem.LQtyNonSellable,
                LCreationDate   = pInventoryItem.LCreationDate,
                LObject         = new MObject
                {
                    LIdObject   = pInventoryItem.LObject.LIdObject,
                    LNameObject = pInventoryItem.LObject.LNameObject
                }
            };

            oMInventoryItem.LListStatus  = LiStatus.Bll_getListStatusByIdObject(oMInventoryItem.LObject.LIdObject).MListAllStatus();
            oMInventoryItem.LListProduct = LiProduct.bll_GetAllProduct().MListAllProduct(true);
            return(oMInventoryItem);
        }
Beispiel #9
0
        private void createAdjustDoc()
        {
            String toLocationCode = "LOCATION01";
            String toLocationID   = "2";

            MInventoryDoc md = new MInventoryDoc(new CTable(""));

            md.DocumentDate   = DateTime.Now;
            md.DocumentType   = "4";
            md.ToLocation     = toLocationID;
            md.ToLocationCode = toLocationCode;
            md.AdjustmentBy   = "1";
            md.IsInternalDoc  = false;

            int internalCnt = 0;
            int docCnt      = 0;

            foreach (CTable o in inventoryItems)
            {
                MInventoryItem mi = new MInventoryItem(o);
                //en.Note = String.Format("META|{0}|{1}|{2}|{3}|{4}|{5}",
                //    en.ItemUOMName,
                //    en.ItemCategoryName,
                //    en.ItemTypeName,
                //    en.Temp2,
                //    en.Temp3,
                //    en.Temp4
                //    );
                //"Temp2", //จำนวนคงเหลือ
                //"Temp3", //ราคา/หน่วย
                //"Temp4", //มูลค่าคงเหลือ

                string source = mi.Note;
                if (source.Equals(""))
                {
                    continue;
                }

                string[] stringSeparators = new string[] { "|" };
                string[] results          = source.Split(stringSeparators, StringSplitOptions.None);

                if (results.Length < 7)
                {
                    continue;
                }

                String balanceQty = results[4];
                String balanceAmt = results[6];

                if (internalCnt >= 30)
                {
                    docCnt++;

                    md.Note = "ตั้งยอดยกมา 000" + docCnt;

                    OnixWebServiceAPI.SubmitObjectAPI("CreateInventoryDoc", md.GetDbObject());

                    md = new MInventoryDoc(new CTable(""));
                    md.IsInternalDoc  = false;
                    md.DocumentDate   = DateTime.Now;
                    md.DocumentType   = "4";
                    md.ToLocation     = toLocationID;
                    md.ToLocationCode = toLocationCode;
                    md.AdjustmentBy   = "1";

                    internalCnt = 0;
                }

                MInventoryAdjustment ai = new MInventoryAdjustment(new CTable(""));
                ai.ExtFlag             = "A";
                ai.ItemID              = mi.ItemID;
                ai.ItemCode            = mi.ItemCode;
                ai.AdjQuantity         = balanceQty;
                ai.AdjAmount           = balanceAmt;
                ai.AdjustmentByDetails = "1";
                md.AddAdjustment(ai);

                importStatusUpdate(internalCnt, inventoryItems.Count);
                internalCnt++;
            }

            if (internalCnt > 0)
            {
                docCnt++;
                md.Note = "ตั้งยอดยกมา 000" + docCnt;
                OnixWebServiceAPI.SubmitObjectAPI("CreateInventoryDoc", md.GetDbObject());
            }

            importStatusUpdate(inventoryItems.Count, inventoryItems.Count);
        }
Beispiel #10
0
        private void correctItem()
        {
            Hashtable typehash = new Hashtable();
            Hashtable cathash  = new Hashtable();
            Hashtable uomhash  = new Hashtable();

            Hashtable typehashPre = CUtil.ObserableCollectionToHash(CMasterReference.Instance.ItemTypes, "Description");
            Hashtable uomhashPre  = CUtil.ObserableCollectionToHash(CMasterReference.Instance.Uoms, "Description");

            int cnt = 0;

            foreach (CTable o in inventoryItems)
            {
                MInventoryItem mi = new MInventoryItem(o);

                //en.Note = String.Format("META|{0}|{1}|{2}|{3}|{4}|{5}",
                //    en.ItemUOMName,
                //    en.ItemCategoryName,
                //    en.ItemTypeName,
                //    en.Temp2,
                //    en.Temp3,
                //    en.Temp4
                //    );

                string   source           = mi.Note;
                string[] stringSeparators = new string[] { "|" };
                string[] results          = source.Split(stringSeparators, StringSplitOptions.None);

                if (results.Length < 7)
                {
                    continue;
                }

                String uomName  = results[1];
                String catName  = results[2];
                String typeName = results[3];

                #region UOM
                if (uomhashPre.ContainsKey(uomName))
                {
                    MMasterRef mr = (MMasterRef)uomhashPre[uomName];
                    mi.ItemUOM = mr.MasterID;
                }
                else if (uomhash.ContainsKey(uomName))
                {
                    String uomID = (String)uomhash[uomName];
                    mi.ItemUOM = uomID;
                }
                else
                {
                    MMasterRef uom = new MMasterRef(new CTable(""));
                    uom.RefType     = ((int)MasterRefEnum.MASTER_UOM).ToString();
                    uom.Code        = uomName;
                    uom.Description = uomName;

                    CTable nuom = OnixWebServiceAPI.SubmitObjectAPI("CreateMasterRef", uom.GetDbObject());

                    uom.SetDbObject(nuom);
                    uomhash.Add(uomName, uom.MasterID);

                    mi.ItemUOM = uom.MasterID;
                }
                #endregion

                #region Type
                if (typehashPre.ContainsKey(typeName))
                {
                    MMasterRef mr = (MMasterRef)typehashPre[typeName];
                    mi.ItemType = mr.MasterID;
                }
                else if (typehash.ContainsKey(typeName))
                {
                    String typeID = (String)typehash[typeName];
                    mi.ItemType = typeID;
                }
                else
                {
                    MMasterRef typ = new MMasterRef(new CTable(""));
                    typ.RefType     = ((int)MasterRefEnum.MASTER_ITEM_TYPE).ToString();
                    typ.Code        = typeName;
                    typ.Description = typeName;

                    //CTable ntyp = OnixWebServiceAPI.CreateMasterRef(typ.GetDbObject());
                    CTable ntyp = OnixWebServiceAPI.SubmitObjectAPI("CreateMasterRef", typ.GetDbObject());
                    typ.SetDbObject(ntyp);
                    typehash.Add(typeName, typ.MasterID);

                    mi.ItemType = typ.MasterID;
                }
                #endregion

                #region Category
                mi.ItemCategory = "7";
                //if (cathash.ContainsKey(catName))
                //{
                //    String catID = (String)cathash[catName];

                //    mi.ItemCategory = catID;
                //}
                //else
                //{
                //    MItemCategory cat = new MItemCategory(new CTable(""));
                //    cat.CategoryName = catName;
                //    cat.ParentID = "";

                //    //CTable ncat = OnixWebServiceAPI.CreateItemCategory(cat.GetDbObject());
                //    CTable ncat = OnixWebServiceAPI.SubmitObjectAPI("CreateItemCategory", cat.GetDbObject());
                //    cat.SetDbObject(ncat);
                //    cathash.Add(catName, cat.ItemCategoryID);

                //    mi.ItemCategory = cat.ItemCategoryID;
                //}
                #endregion

                OnixWebServiceAPI.SubmitObjectAPI("UpdateInventoryItem", mi.GetDbObject());

                cnt++;
                importStatusUpdate(cnt, inventoryItems.Count);
            }

            importStatusUpdate(cnt, inventoryItems.Count);
        }