예제 #1
0
        public InventoryStatus GetStockStatus()
        {
            try
            {
                var inventoryStatus = new InventoryStatus();

                using (var connection = new OdbcConnection(this.ConnetionString))
                {
                    connection.Open();
                    var query   = $@"SELECT SUM(QTY), itemno, store FROM invtrs GROUP BY itemno, store";
                    var command = new OdbcCommand(query);
                    command.Connection = connection;

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            inventoryStatus.Items.Add(new InventoryStatusItem
                            {
                                Quantity = Convert.ToSingle(reader[0]),
                                ItemId   = reader[1].ToString().Trim(),
                                StoreNo  = Convert.ToInt32(reader[2])
                            });
                        }
                    }

                    return(inventoryStatus);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                throw;
            }
        }
예제 #2
0
            void step(IMyGridTerminalSystem gts)
            {
                this.projector.AttachEverything(gts);
                WelderStatus welderStatus = this.welder.GetStatus();

                if (welderStatus != WelderStatus.Deployed)
                {
                    this.log("Welder is not ready");
                    return;
                }
                ProjectorStatus projStatus = this.projector.GetStatus();

                if (projStatus != ProjectorStatus.Projecting)
                {
                    this.log("Projector is not ready");
                    return;
                }
                InventoryStatus invStatus = this.inventoryManager.GetStatus();

                if (invStatus == InventoryStatus.NotReady)
                {
                    this.log("Inventory is not ready");
                    return;
                }
                this.welder.Step();
            }
        public void UpsertInventoryStatus(InventoryStatus inventoryStatus)
        {
            var stockItemRecord = _inventoryRepository.RetreiveStockItem(inventoryStatus.InventoryID);

            var existing =
                _inventoryRepository
                .RetrieveInventory(inventoryStatus.InventoryID, inventoryStatus.WarehouseID);

            if (existing == null)
            {
                var warehouse = _inventoryRepository.RetrieveWarehouse(inventoryStatus.WarehouseID);

                var inventory = new AcumaticaInventory();
                inventory.ParentMonsterId      = stockItemRecord.MonsterId;
                inventory.AcumaticaWarehouseId = inventoryStatus.WarehouseID;
                inventory.AcumaticaAvailQty    = inventoryStatus.QtyAvailable;
                inventory.WarehouseMonsterId   = warehouse.Id;
                inventory.IsInventorySynced    = false;
                inventory.DateCreated          = DateTime.UtcNow;
                inventory.LastUpdated          = DateTime.UtcNow;

                _inventoryRepository.InsertInventory(inventory);
            }
            else
            {
                existing.AcumaticaAvailQty = inventoryStatus.QtyAvailable;
                existing.IsInventorySynced = false;
                existing.LastUpdated       = DateTime.UtcNow;
                _inventoryRepository.SaveChanges();
            }
        }
 public int ManageInventoryStatus(InventoryStatus inventoryStatusObj)
 {
     if (inventoryStatusObj != null)
     {
         var existingInventoryStatusObj = _context.InventoryStatusList
                                          .Where(x => x.Status.ToLower().Equals(inventoryStatusObj.Status.ToLower()))
                                          .FirstOrDefault();
         if (existingInventoryStatusObj != null)
         {
             existingInventoryStatusObj.Status = inventoryStatusObj.Status;
             _context.SaveChanges();
             return(existingInventoryStatusObj.Id);
         }
         else
         {
             _context.InventoryStatusList.Add(inventoryStatusObj);
             _context.SaveChanges();
             return(inventoryStatusObj.Id);
         }
     }
     else
     {
         return(0);
     }
 }
        public void SetProductInventoryStatus(Product product, InventoryStatus status) {

            product.Inventory = status;
            _catalogService.SaveProduct(product);
            
            
        }
예제 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            InventoryStatus inventoryStatus = db.InventoryStatuses.Find(id);

            db.InventoryStatuses.Remove(inventoryStatus);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #7
0
 public void Resume()
 {
     if (status != InventoryStatus.Paused)
     {
         throw new InvalidOperationException("Inventory must be paused in order to be resumed.");
     }
     status = InventoryStatus.Flat;
 }
예제 #8
0
 public void Pause()
 {
     if (status != InventoryStatus.Flat)
     {
         throw new InvalidOperationException("Inventory must be flat in order to be paused.");
     }
     status = InventoryStatus.Paused;
 }
예제 #9
0
        public void GetAnalysis()
        {
            int shopId            = 19120225;
            InventoryAnalytics ia = new InventoryAnalytics(this.syncDatabase, this.etsyAPI);

            InventoryStatus invStatus = ia.GetInventoryStatus(shopId);

            Assert.True(invStatus.Added.Count > 0);
        }
예제 #10
0
        public async Task UpdateInventoryStatus(ProductInventory inventoryEntry, InventoryStatus newStatus, int binId) {
            var oldStatus = inventoryEntry.Status;
            inventoryEntry.Status = newStatus;
            inventoryEntry.BinId = binId;

            this.Context.ProductInventories.Attach(inventoryEntry);
            this.Context.Entry(inventoryEntry).State = EntityState.Modified;
            await this.Context.SaveChangesAsync();
            await PostSaveAsync(inventoryEntry, oldStatus);
        }
예제 #11
0
 public ActionResult Edit([Bind(Include = "InventoryStatusID,InventoryStatusName,Comments")] InventoryStatus inventoryStatus)
 {
     if (ModelState.IsValid)
     {
         db.Entry(inventoryStatus).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(inventoryStatus));
 }
예제 #12
0
        public BatchRow[] GetByInventoryStatusCustomerAcctIdRequestId(InventoryStatus pInventoryStatus, short pCustomerAcctId, int pRequestId)
        {
            string _where = BatchRow.customer_acct_id_DbName + " = " + pCustomerAcctId + " " +
                            " AND " +
                            BatchRow.request_id_DbName + " = " + pRequestId + " " +
                            " AND " +
                            BatchRow.status_DbName + " = " + (byte)pInventoryStatus;

            return(GetAsArray(_where, null));
        }
예제 #13
0
        public ActionResult Create([Bind(Include = "InventoryStatusID,InventoryStatusName,Comments")] InventoryStatus inventoryStatus)
        {
            if (ModelState.IsValid)
            {
                db.InventoryStatuses.Add(inventoryStatus);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(inventoryStatus));
        }
예제 #14
0
 private vincontroldescriptiontemplate GetRandomizedTemplate(InventoryStatus inventoryStatus)
 {
     using (var context = new whitmanenterprisewarehouseEntities())
     {
         var random          = new Random();
         var status          = inventoryStatus.ToString();
         var activeTemplates = context.vincontroldescriptiontemplates.Where(i => i.IsActive && i.Type.Equals(status));
         int randomElement   = random.Next(0, activeTemplates.Count());
         return(activeTemplates.ToList().ElementAt(randomElement));
     }
 }
예제 #15
0
 public IActionResult Post(long id, [FromBody] string name, [FromBody] InventoryStatus status)
 {
     using (var scope = new TransactionScope())
     {
         var pet = _productRepository.GetById(id);
         pet.Name   = name;
         pet.Status = status;
         _productRepository.Update(pet);
         scope.Complete();
         return(new OkResult());
     }
 }
예제 #16
0
        /// <summary>
        /// 数据加载
        /// </summary>
        private void Bind()
        {
            try
            {
                var inventory = _autofacConfig.ConInventoryService.GetConInventoryById(IID);
                Status = (InventoryStatus)inventory
                         .STATUS;

                if (Status == InventoryStatus.未盘点)
                {
                    plScan.Visible = false;
                }
                else if (Status == InventoryStatus.盘点结束)
                {
                    plButton.Visible = false;
                }
                else
                {
                    lblAction.Text       = "结束盘点";
                    imgAction.ResourceID = "icon-end";
                }

                waitListView.Rows.Clear();
                waitListView.DataSource = waiTable;
                waitListView.DataBind();

                alreadyListView.Rows.Clear();
                alreadyListView.DataSource = alreadyTable;
                alreadyListView.DataBind();

                tabPageView1.Titles = new string[] {
                    "待盘点(" + waiTable.Rows.Count.ToString() + ")",
                    "已盘点(" + alreadyTable.Rows.Count.ToString() + ")"
                };

                foreach (var row in alreadyListView.Rows)
                {
                    frmCIResultLayout layout = (frmCIResultLayout)row.Control;
                    if (layout.label2.Text == "盘亏")
                    {
                        layout.label2.ForeColor = Color.Red;
                    }
                    else if (layout.label2.Text == "盘盈")
                    {
                        layout.label2.ForeColor = Color.FromArgb(43, 140, 255);
                    }
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
예제 #17
0
        public static InventoryState Create(InventoryStatus status)
        {
            switch (status) {

                case InventoryStatus.InStock:
                    return new InStock();
                case InventoryStatus.BackOrder:
                    return new BackOrdered();

                default:
                    throw new NotImplementedException("boom!");
            }
        }
예제 #18
0
        /// <summary>
        /// 获取枚举值对应的描述信息
        /// </summary>
        /// <param name="enumName"></param>
        /// <returns></returns>
        private string GetDescriptionText(InventoryStatus enumName)
        {
            string    str   = enumName.ToString();
            FieldInfo field = enumName.GetType().GetField(str);

            object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);
            if (objs.Length == 0)
            {
                return(str);
            }
            DescriptionAttribute da = (DescriptionAttribute)objs[0];

            return(da.Description);
        }
예제 #19
0
        public static InventoryState Create(InventoryStatus status)
        {
            switch (status)
            {
            case InventoryStatus.InStock:
                return(new InStock());

            case InventoryStatus.BackOrder:
                return(new BackOrdered());

            default:
                throw new NotImplementedException("boom!");
            }
        }
예제 #20
0
        // GET: InventoryStatus/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InventoryStatus inventoryStatus = db.InventoryStatuses.Find(id);

            if (inventoryStatus == null)
            {
                return(HttpNotFound());
            }
            return(View(inventoryStatus));
        }
예제 #21
0
        /// <summary>
        /// Determine the difference in listing from now to the last cached listing.
        /// </summary>
        /// <param name="shopID"></param>
        /// <returns></returns>
        public InventoryStatus GetInventoryStatus(int shopID)
        {
            Shop shop = getShopSmart(shopID);

            //Indicated that ShopId Invalud
            if (shop is null)
            {
                return(new InventoryStatus()
                {
                    Shop = new Shop()
                    {
                        Shop_id = shopID,
                        Shop_name = null
                    },
                    IsShopIdValid = false
                });
            }


            ShopInventory previousInventoryState         = syncDatabase.ReadShopInventory(shopID);
            EtsyDataContainer <Listing> listingsFromEtsy = estyAPI.GetActiveListingsByShop(shopID);

            syncDatabase.PersistShopInventory(shop, listingsFromEtsy.Results);

            //Indicates first time request for synchronization.
            if (previousInventoryState == null)
            {
                return(new InventoryStatus()
                {
                    Shop = shop,
                    AsOfDate = DateTime.Today,
                    Added = listingsFromEtsy.Results,
                    Removed = new List <Listing>()
                });
            }

            //Determine the changes between the two lists.
            Deltas <Listing> deltas = determineListingsDeltas(listingsFromEtsy, previousInventoryState.Listings);

            InventoryStatus invStat = new InventoryStatus()
            {
                Shop     = shop,
                AsOfDate = DateTime.Today,
                Added    = deltas.Adds,
                Removed  = deltas.Deletes
            };

            return(invStat);
        }
예제 #22
0
        private async Task PostSaveAsync(ProductInventory inventoryEntry, InventoryStatus oldStatus) {
            await this.AuditService.AppendAuditEntryAsync(new InventoryAudit {
                EventDate = DateTime.Now,
                Inventory = inventoryEntry,
                InventoryId = inventoryEntry.Id,
                OldStatus = oldStatus,
                NewStatus = inventoryEntry.Status
            });

            this.NotifierService.SendProductInventoryChange(
                new InventorySummary {
                    ProductId = inventoryEntry.ProductId,
                    Count = GetProductCount(inventoryEntry.ProductId)
                });
        }
예제 #23
0
		public int[] Export(InventoryStatus pStatus, long pFirstSerial, long pLastSerial) {
			string _sqlStr = "UPDATE PhoneCard " + " SET [" + PhoneCardRow.inventory_status_DbName + "] = " + (byte)InventoryStatus.Archived + ", " + " [" + PhoneCardRow.status_DbName + "] = " + (byte)Status.Archived + ", " + " [" + PhoneCardRow.date_archived_DbName + "] = " + Database.CreateSqlParameterName(PhoneCardRow.date_archived_PropName) + " " + " WHERE [" + PhoneCardRow.serial_number_DbName + "] " + " BETWEEN " + pFirstSerial + " AND " + pLastSerial + " " + " SELECT @@ROWCOUNT ";
			IDbCommand _cmd = base.Database.CreateCommand(_sqlStr);
			AddParameter(_cmd, PhoneCardRow.date_archived_PropName, DateTime.Today);

			PhoneCardRow[] _tempArray = null;
			using (IDataReader _reader = _cmd.ExecuteReader()) {
				_tempArray = MapRecords(_reader);
			}

			var _ids = new List<int>();
			foreach (var _phoneCardRow in _tempArray) {
				_ids.Add(_phoneCardRow.Retail_acct_id);
			}
			return _ids.ToArray();
		}
예제 #24
0
            string getString(InventoryStatus status)
            {
                switch (status)
                {
                case InventoryStatus.Nominal:
                    return("Nominal");

                case InventoryStatus.MandatoryLow:
                    return("Low");

                case InventoryStatus.OptionalLow:
                    return("Optional low");

                default:
                    return("Not ready");
                }
            }
        public override List <InventoryStatus> GetAnalysis(IEnumerable <int> shopIDs, out HttpStatusCode statusCode)
        {
            var inv = new InventoryStatus()
            {
                Added         = new List <Listing>(),
                Removed       = new List <Listing>(),
                AsOfDate      = DateTime.Now,
                IsShopIdValid = true,
                Shop          = new Shop()
                {
                    Shop_id = 19099937, Shop_name = "CozyCowlz"
                }
            };

            statusCode = HttpStatusCode.OK;

            return(new List <InventoryStatus>(new InventoryStatus[] { inv }));
        }
예제 #26
0
        public static BatchDto[] GetBatchesByInventoryStatusServiceIdCustomerAcctId(InventoryStatus pInventoryStatus, short pServiceId, short pCustomerAcctId)
        {
            var _list = new ArrayList();

            using (var _db = new Rbr_Db()) {
                var _inventoryLotRows = _db.InventoryLotCollection.GetByService_id(pServiceId);
                foreach (var _inventoryLotRow in _inventoryLotRows)
                {
                    var _generationRequestRows = _db.GenerationRequestCollection.GetByLot_id(_inventoryLotRow.Lot_id);
                    foreach (var _generationRequestRow in _generationRequestRows)
                    {
                        var _batchRows = _db.BatchCollection.GetByInventoryStatusCustomerAcctIdRequestId(pInventoryStatus, pCustomerAcctId, _generationRequestRow.Request_id);
                        _list.AddRange(MapToBatches(_batchRows, _inventoryLotRow, _generationRequestRow));
                    }
                }
            }
            return((BatchDto[])_list.ToArray(typeof(BatchDto)));
        }
예제 #27
0
 private void SetStatus()
 {
     if (binary.CurrentPosition == 0)
     {
         status = InventoryStatus.Flat;
     }
     else if (binary.Completed)
     {
         status = InventoryStatus.Complete;
     }
     else if (binary.CurrentPosition > 0)
     {
         status = InventoryStatus.Long;
     }
     else
     {
         status = InventoryStatus.Short;
     }
 }
예제 #28
0
        protected virtual InventoryStatusEnum GetInventoryStatus(InventoryStatus inventoryStatus)
        {
            switch (inventoryStatus)
            {
            case InventoryStatus.BackOrder:
                return(InventoryStatusEnum.BackOrder);

            case InventoryStatus.InStock:
                return(InventoryStatusEnum.InStock);

            case InventoryStatus.OutOfStock:
                return(InventoryStatusEnum.OutOfStock);

            case InventoryStatus.PreOrder:
                return(InventoryStatusEnum.PreOrder);

            default:
                return(InventoryStatusEnum.Unspecified);
            }
        }
예제 #29
0
        /// <summary>
        /// 页面初始化
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmConInventoryResult_Load(object sender, EventArgs e)
        {
            try
            {
                UserId = Client.Session["UserID"].ToString();
                //添加各表格的列
                if (waiTable.Columns.Count == 0)
                {
                    waiTable.Columns.Add("RESULTNAME");
                    waiTable.Columns.Add("CID");
                    waiTable.Columns.Add("Image");
                    waiTable.Columns.Add("Name");
                    waiTable.Columns.Add("Specification");
                    waiTable.Columns.Add("Total");
                    waiTable.Columns.Add("RealAmount");
                }
                DataColumn[] keys = new DataColumn[1];
                keys[0]             = waiTable.Columns["CID"];
                waiTable.PrimaryKey = keys;

                //添加各表格的列
                if (alreadyTable.Columns.Count == 0)
                {
                    alreadyTable.Columns.Add("RESULTNAME");
                    alreadyTable.Columns.Add("CID");
                    alreadyTable.Columns.Add("Image");
                    alreadyTable.Columns.Add("Name");
                    alreadyTable.Columns.Add("Specification");
                    alreadyTable.Columns.Add("Total");
                    alreadyTable.Columns.Add("RealAmount");
                }
                DataColumn[] keys2 = new DataColumn[1];
                keys2[0] = alreadyTable.Columns["CID"];
                alreadyTable.PrimaryKey = keys2;

                //添加ListView到tabpageview
                waitListView.TemplateControlName = "frmCIResultLayout";
                waitListView.ShowSplitLine       = true;
                waitListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                waitListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(waitListView);

                alreadyListView.TemplateControlName = "frmCIResultLayout";
                alreadyListView.ShowSplitLine       = true;
                alreadyListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                alreadyListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(alreadyListView);

                var inventory = _autofacConfig.ConInventoryService.GetConInventoryById(IID);
                lblName.Text      = inventory.NAME;
                lblHandleMan.Text = inventory.HANDLEMANNAME;
                lblCount.Text     = inventory.TOTAL.ToString();
                lblLocatin.Text   = inventory.LOCATIONNAME;
                Status            = (InventoryStatus)inventory
                                    .STATUS;

                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.盘点未开始)
                {
                    panelScan.Visible = false;
                }
                //获得需要盘点的资产列表
                conList = _autofacConfig.ConInventoryService.GetPendingInventoryList(IID);

                //得到盘点单当前的所有行项
                conDictionary = _autofacConfig.ConInventoryService.GetResultDictionary(IID);

                //得到待盘点的资产列表
                var waiTable1 = _autofacConfig.ConInventoryService.GetPendingInventoryTable(IID, LocationId);
                foreach (DataRow row in waiTable1.Rows)
                {
                    DataRow Row = waiTable.NewRow();
                    Row["CID"]           = row["CID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Specification"] = row["Specification"].ToString();
                    Row["Total"]         = row["Total"].ToString();
                    Row["RealAmount"]    = row["RealAmount"].ToString();

                    waiTable.Rows.Add(Row);
                }
                if (inventory.TOTAL == 0)
                {
                    lblCount.Text = waiTable1.Rows.Count.ToString();
                }


                //得到已盘点的资产列表
                var alreadyTable1 = _autofacConfig.ConInventoryService.GetConInventoryResultsByIID(IID, ResultStatus.已盘点);
                foreach (DataRow row in alreadyTable1.Rows)
                {
                    DataRow Row = alreadyTable.NewRow();
                    Row["CID"]           = row["CID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Specification"] = row["Specification"].ToString();
                    Row["Total"]         = row["Total"].ToString();
                    Row["RealAmount"]    = row["RealAmount"].ToString();

                    alreadyTable.Rows.Add(Row);
                }

                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.盘点未开始)
                {
                    Form.ActionButton.Enabled = false;
                }

                //绑定数据
                Bind();
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
예제 #30
0
        private DataTable allAssTable = new DataTable(); //全部资产
        #endregion

        /// <summary>
        /// 初始化界面
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmAssInventoryResult_Load(object sender, EventArgs e)
        {
            try
            {
                //添加各表格的列
                if (waiTable.Columns.Count == 0)
                {
                    waiTable.Columns.Add("RESULTNAME");
                    waiTable.Columns.Add("ASSID");
                    waiTable.Columns.Add("Image");
                    waiTable.Columns.Add("SLName");
                    waiTable.Columns.Add("Name");
                    waiTable.Columns.Add("Price");
                    waiTable.Columns.Add("SN");
                    waiTable.Columns.Add("TypeName");
                    waiTable.Columns.Add("Specification");
                }
                DataColumn[] keys = new DataColumn[1];
                keys[0]             = waiTable.Columns["ASSID"];
                waiTable.PrimaryKey = keys;

                //添加各表格的列
                if (alreadyTable.Columns.Count == 0)
                {
                    alreadyTable.Columns.Add("RESULTNAME");
                    alreadyTable.Columns.Add("ASSID");
                    alreadyTable.Columns.Add("Image");
                    alreadyTable.Columns.Add("SLName");
                    alreadyTable.Columns.Add("Name");
                    alreadyTable.Columns.Add("Price");
                    alreadyTable.Columns.Add("SN");
                    alreadyTable.Columns.Add("TypeName");
                    alreadyTable.Columns.Add("Specification");
                }
                DataColumn[] keys2 = new DataColumn[1];
                keys2[0] = alreadyTable.Columns["ASSID"];
                alreadyTable.PrimaryKey = keys2;

                UserId = Client.Session["UserID"].ToString();
//                UserId = "12345678912";

                //添加各表格的列
                if (allAssTable.Columns.Count == 0)
                {
                    //                    allAssTable.Columns.Add("RESULTNAME");
                    allAssTable.Columns.Add("ASSID");
                    allAssTable.Columns.Add("Image");
                    allAssTable.Columns.Add("SLName");
                    allAssTable.Columns.Add("Name");
                    allAssTable.Columns.Add("Price");
                    allAssTable.Columns.Add("SN");
                    allAssTable.Columns.Add("TypeName");
                    allAssTable.Columns.Add("Specification");
                }
                DataColumn[] keys3 = new DataColumn[1];
                keys[0] = allAssTable.Columns["SN"];
                allAssTable.PrimaryKey = keys;

                allAssTable.Rows.Clear();
                waiTable.Rows.Clear();
                alreadyTable.Rows.Clear();

                var allAssTable1 = _autofacConfig.SettingService.GetAllAss(null);
                foreach (DataRow row in allAssTable1.Rows)
                {
                    DataRow Row = allAssTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["SLName"]        = row["SLName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();


                    allAssTable.Rows.Add(Row);
                }


                //添加ListView到tabpageview
                waitListView.TemplateControlName = "frmAIResultLayout";
                waitListView.ShowSplitLine       = true;
                waitListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                waitListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(waitListView);

                alreadyListView.TemplateControlName = "frmAIResultLayout";
                alreadyListView.ShowSplitLine       = true;
                alreadyListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                alreadyListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(alreadyListView);

                var inventory = _autofacConfig.AssInventoryService.GetAssInventoryById(IID);
                txtName.Text      = inventory.NAME;
                txtHandleMan.Text = "盘点人:" + inventory.HANDLEMANNAME;
                string count = inventory.TOTAL.ToString();
                txtCount.Text = "需盘点总数:" + count;
                txtWare.Text  = "仓库:" + inventory.WareNAME;
                txtST.Text    = string.IsNullOrEmpty(inventory.STID) ? "存储类型:" + "全部" : "存储类型:" + inventory.STNAME;
                txtSL.Text    = string.IsNullOrEmpty(inventory.SLID) ? "库位:" + "全部" : "库位:" + inventory.SLNAME;
                txtType.Text  = string.IsNullOrEmpty(inventory.TYPEID) ? "资产类型:" + "全部" : "资产类型:" + inventory.TYPENAME;
                Status        = (InventoryStatus)inventory
                                .STATUS;
                WAREID             = inventory.WAREID;
                STID               = inventory.STID;
                SLID               = inventory.SLID;
                imgUser.ResourceID = inventory.Image;
                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.未盘点)
                {
                    plScan.Visible = false;
                }


                //获得需要盘点的资产列表
                assList = _autofacConfig.AssInventoryService.GetPendingInventoryList(IID);

                //得到盘点单当前的所有行项
                assDictionary = _autofacConfig.AssInventoryService.GetResultDictionary(IID);

                //得到待盘点的资产列表
                var waiTable1 = _autofacConfig.AssInventoryService.GetPendingInventoryTable(IID, WAREID, STID, SLID, typeId);
                foreach (DataRow row in waiTable1.Rows)
                {
                    DataRow Row = waiTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["SLName"]        = row["SLName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();


                    waiTable.Rows.Add(Row);
                }
                if (inventory.TOTAL == 0)
                {
                    txtCount.Text = "需盘点总数:" + waiTable1.Rows.Count.ToString();
                }


                //得到已盘点的资产列表
                var alreadyTable1 = _autofacConfig.AssInventoryService.GetAssInventoryResultsByIID(IID, ResultStatus.存在);
                foreach (DataRow row in alreadyTable1.Rows)
                {
                    DataRow Row = alreadyTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["SLName"]        = row["SLName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();

                    alreadyTable.Rows.Add(Row);
                }

//                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.盘点未开始)
//                {
//                    Form.ActionButton.Enabled = false;
//                }
                if (Status == InventoryStatus.未盘点)
                {
                    ibStart.Text     = "开始盘点";
                    ibUpload.Visible = false;
                    plScan.Visible   = false;
//                    Toast("盘点未开始或已经结束.");
                }
                else if (Status == InventoryStatus.盘点中)
                {
                    ibStart.Text     = "结束盘点";
                    ibUpload.Visible = true;
                    plScan.Visible   = true;
                }
                else if (Status == InventoryStatus.盘点结束)
                {
                    plButton.Visible = false;
                    plScan.Visible   = false;
                }
                //绑定数据
                Bind();
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
예제 #31
0
        private void ibStart_Press(object sender, EventArgs e)
        {
            try
            {
                if (Status == InventoryStatus.盘点中)
                {
                    //盘点结束
                    ReturnInfo rInfo = new ReturnInfo();
                    Dictionary <string, int> assDictionary2 = new Dictionary <string, int>();
                    foreach (var key in assDictionary.Keys)
                    {
                        if (assDictionary[key] == (int)ResultStatus.待盘点)
                        {
                            assDictionary2.Add(key, (int)ResultStatus.盘亏);
                        }
                        else
                        {
                            assDictionary2.Add(key, assDictionary[key]);
                        }
                    }


                    AssInventoryInputDto inputDto2 = new AssInventoryInputDto
                    {
                        IID           = IID,
                        IsEnd         = false,
                        AssDictionary = assDictionary2
                    };
                    inputDto2.IsEnd = true;
                    rInfo           = _autofacConfig.AssInventoryService.UpdateInventory(inputDto2);
                    if (rInfo.IsSuccess)
                    {
                        ShowResult = ShowResult.Yes;
                        Close();
                        Toast("盘点结束成功.");
                    }
                    else
                    {
                        Toast(rInfo.ErrorInfo);
                    }
                }
                else
                {
                    //开始盘点
                    AddAIResultInputDto inputDto = new AddAIResultInputDto {
                        IID = IID
                    };
                    var        inventory  = _autofacConfig.AssInventoryService.GetAssInventoryById(IID);
                    ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventoryResult(inputDto);
                    if (returnInfo.IsSuccess)
                    {
                        Status           = InventoryStatus.盘点中;
                        ibStart.Text     = "结束盘点";
                        ibUpload.Visible = true;
                        plScan.Visible   = true;
                    }
                    else
                    {
                        Toast(returnInfo.ErrorInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
예제 #32
0
 public List<AWGInventoryDTO> findVehiclesByStatusAndId(InventoryStatus inventoryStatus, int eventId = 0, string dealerNumber = "")
 {
     var listInventoryOperation = new ListInventoryOperation(InventoryStatus.Sold, eventId, dealerNumber);
     return listInventoryOperation.execute().inventory;
 }
예제 #33
0
 public void Deleted()
 {
     this.Status = InventoryStatus.Deleted;
 }
예제 #34
0
 internal void Sold(IOrderItem orderItem)
 {
     this.Status = InventoryStatus.Sold;
     this.DateSold = DateTime.Now;
     this.OrderItemGuid = orderItem.Guid;
 }
예제 #35
0
        private DataTable allAssTable = new DataTable(); //全部资产
        #endregion

        /// <summary>
        /// 初始化界面
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmAssInventoryResult_Load(object sender, EventArgs e)
        {
            try
            {
                //添加各表格的列
                if (waiTable.Columns.Count == 0)
                {
                    waiTable.Columns.Add("RESULTNAME");
                    waiTable.Columns.Add("ASSID");
                    waiTable.Columns.Add("Image");
                    waiTable.Columns.Add("LocationName");
                    waiTable.Columns.Add("Name");
                    waiTable.Columns.Add("Price");
                    waiTable.Columns.Add("SN");
                    waiTable.Columns.Add("TypeName");
                    waiTable.Columns.Add("Specification");
                }
                DataColumn[] keys = new DataColumn[1];
                keys[0]             = waiTable.Columns["ASSID"];
                waiTable.PrimaryKey = keys;

                //添加各表格的列
                if (alreadyTable.Columns.Count == 0)
                {
                    alreadyTable.Columns.Add("RESULTNAME");
                    alreadyTable.Columns.Add("ASSID");
                    alreadyTable.Columns.Add("Image");
                    alreadyTable.Columns.Add("LocationName");
                    alreadyTable.Columns.Add("Name");
                    alreadyTable.Columns.Add("Price");
                    alreadyTable.Columns.Add("SN");
                    alreadyTable.Columns.Add("TypeName");
                    alreadyTable.Columns.Add("Specification");
                }
                DataColumn[] keys2 = new DataColumn[1];
                keys2[0] = alreadyTable.Columns["ASSID"];
                alreadyTable.PrimaryKey = keys2;

                UserId = Client.Session["UserID"].ToString();

                //添加各表格的列
                if (allAssTable.Columns.Count == 0)
                {
                    //                    allAssTable.Columns.Add("RESULTNAME");
                    allAssTable.Columns.Add("ASSID");
                    allAssTable.Columns.Add("Image");
                    allAssTable.Columns.Add("LocationName");
                    allAssTable.Columns.Add("Name");
                    allAssTable.Columns.Add("Price");
                    allAssTable.Columns.Add("SN");
                    allAssTable.Columns.Add("TypeName");
                    allAssTable.Columns.Add("Specification");
                }
                DataColumn[] keys3 = new DataColumn[1];
                keys[0] = allAssTable.Columns["SN"];
                allAssTable.PrimaryKey = keys;

                var allAssTable1 = _autofacConfig.SettingService.GetAllAss("");
                foreach (DataRow row in allAssTable1.Rows)
                {
                    DataRow Row = allAssTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["LocationName"]  = row["LocationName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();


                    allAssTable.Rows.Add(Row);
                }


                //添加ListView到tabpageview
                waitListView.TemplateControlName = "frmAIResultLayout";
                waitListView.ShowSplitLine       = true;
                waitListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                waitListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(waitListView);

                alreadyListView.TemplateControlName = "frmAIResultLayout";
                alreadyListView.ShowSplitLine       = true;
                alreadyListView.SplitLineColor      = Color.FromArgb(230, 230, 230);
                alreadyListView.Dock = DockStyle.Fill;
                tabPageView1.Controls.Add(alreadyListView);

                var inventory = _autofacConfig.AssInventoryService.GetAssInventoryById(IID);
                txtName.Text      = inventory.NAME;
                txtHandleMan.Text = inventory.HANDLEMANNAME;
                txtCount.Text     = inventory.TOTAL.ToString();
                txtLocatin.Text   = inventory.LOCATIONNAME;
                txtDep.Text       = string.IsNullOrEmpty(inventory.DEPARTMENTID) ? "全部" : inventory.DEPARTMENTNAME;
                txtType.Text      = string.IsNullOrEmpty(inventory.TYPEID) ? "全部" : inventory.TYPENAME;
                Status            = (InventoryStatus)inventory
                                    .STATUS;

                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.盘点未开始)
                {
                    panelScan.Visible = false;
                }


                //获得需要盘点的资产列表
                assList = _autofacConfig.AssInventoryService.GetPendingInventoryList(IID);

                //得到盘点单当前的所有行项
                assDictionary = _autofacConfig.AssInventoryService.GetResultDictionary(IID);

                //得到待盘点的资产列表
                var waiTable1 = _autofacConfig.AssInventoryService.GetPendingInventoryTable(IID, LocationId, typeId,
                                                                                            DepartmentId);
                foreach (DataRow row in waiTable1.Rows)
                {
                    DataRow Row = waiTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["LocationName"]  = row["LocationName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();


                    waiTable.Rows.Add(Row);
                }
                if (inventory.TOTAL == 0)
                {
                    txtCount.Text = waiTable1.Rows.Count.ToString();
                }


                //得到已盘点的资产列表
                var alreadyTable1 = _autofacConfig.AssInventoryService.GetAssInventoryResultsByIID(IID, ResultStatus.存在);
                foreach (DataRow row in alreadyTable1.Rows)
                {
                    DataRow Row = alreadyTable.NewRow();
                    Row["ASSID"]         = row["ASSID"].ToString();
                    Row["RESULTNAME"]    = row["RESULTNAME"].ToString();
                    Row["Image"]         = row["Image"].ToString();
                    Row["LocationName"]  = row["LocationName"].ToString();
                    Row["Name"]          = row["Name"].ToString();
                    Row["Price"]         = row["Price"].ToString();
                    Row["SN"]            = row["SN"].ToString();
                    Row["TypeName"]      = row["TypeName"].ToString();
                    Row["Specification"] = row["Specification"].ToString();

                    alreadyTable.Rows.Add(Row);
                }

                if (Status == InventoryStatus.盘点结束 || Status == InventoryStatus.盘点未开始)
                {
                    Form.ActionButton.Enabled = false;
                }

                //绑定数据
                Bind();
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
        static void importPhoneCardAndRetailAccount(Rbr_Db pDb, PhoneCardDto pPhoneCard, InventoryStatus pInitialInventoryStatus, PhoneCardBatch pPhoneCardBatch)
        {
            var _retailAccountRow = new RetailAccountRow();

            _retailAccountRow.AccountStatus         = Status.Active;     //NOTE
            _retailAccountRow.Start_balance         = pPhoneCardBatch.StartBalance;
            _retailAccountRow.Start_bonus_minutes   = pPhoneCardBatch.StartBonusMinutes;
            _retailAccountRow.Current_balance       = pPhoneCardBatch.StartBalance;
            _retailAccountRow.Current_bonus_minutes = pPhoneCardBatch.StartBonusMinutes;
            _retailAccountRow.Customer_acct_id      = pPhoneCardBatch.CustomerAcctId;
            _retailAccountRow.Date_created          = pPhoneCardBatch.DateCreated;   //NOTE
            _retailAccountRow.Date_active           = pPhoneCardBatch.DateCreated;   //NOTE
            _retailAccountRow.Date_to_expire        = pPhoneCardBatch.DateToExpire;
            _retailAccountRow.Date_expired          = Configuration.Instance.Db.SqlSmallDateTimeMaxValue;

            RetailAccountManager.Instance.Add(pDb, _retailAccountRow);
            pPhoneCard.RetailAcctId = _retailAccountRow.Retail_acct_id;

            var _phoneCardRow = new PhoneCardRow();

            _phoneCardRow.InventoryStatus = pInitialInventoryStatus;
            if (pInitialInventoryStatus == InventoryStatus.Activated)
            {
                _phoneCardRow.CardStatus = Status.Active;
            }
            else
            {
                _phoneCardRow.CardStatus = Status.Pending;
            }
            _phoneCardRow.Pin            = pPhoneCard.Pin;
            _phoneCardRow.Serial_number  = pPhoneCard.SerialNumber;
            _phoneCardRow.Service_id     = pPhoneCard.ServiceId;
            _phoneCardRow.Retail_acct_id = pPhoneCard.RetailAcctId;

            _phoneCardRow.Date_loaded            = pPhoneCardBatch.DateCreated;
            _phoneCardRow.Date_active            = pPhoneCardBatch.DateCreated;
            _phoneCardRow.Date_to_expire         = pPhoneCardBatch.DateToExpire;
            _phoneCardRow.IsDate_deactivatedNull = true;
            _phoneCardRow.IsDate_archivedNull    = true;

            RetailAccountManager.AddPhoneCard(pDb, _phoneCardRow);
        }
        public JsonResult LoadNewInventoryData(string locationName)
        {
            InventoryStatus status = new InventoryStatus();

            status.success = true;
            List <Location>      Locations  = new List <Location>();
            List <InventoryItem> Items      = new List <InventoryItem>();
            List <InventoryItem> FinalItems = new List <InventoryItem>();
            Configuration        config     = new Configuration();
            SqlConnection        conn       = new SqlConnection(config.ConnectionString());

            try
            {
                conn.Open();
                string query = "SELECT * FROM InventoryLocation"; // Get All Locations
                using (SqlCommand command = new SqlCommand(query, conn))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string LocationName = reader.GetString(reader.GetOrdinal("InventoryLocationDescription"));
                            int    LocationID   = (int)reader.GetInt64(reader.GetOrdinal("InventoryLocationID"));
                            Locations.Add(new Location(LocationName, LocationID));
                        }
                    }
                }
                query = "SELECT * FROM Inventory"; // Get all items
                using (SqlCommand command = new SqlCommand(query, conn))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            string        ItemName            = reader.GetString(reader.GetOrdinal("ItemName"));
                            int           ItemQuantity        = reader.GetInt32(reader.GetOrdinal("InventoryQuantity"));
                            int           ItemReorder         = reader.GetInt32(reader.GetOrdinal("InventoryReorderQuantity"));
                            string        ItemDescription     = reader.GetString(reader.GetOrdinal("InventoryDescription"));
                            int           InventoryTypeID     = (int)reader.GetInt64(reader.GetOrdinal("InventoryTypeID"));
                            int           InventoryLocationID = (int)reader.GetInt64(reader.GetOrdinal("InventoryLocationID"));
                            int           ItemID = (int)reader.GetInt64(reader.GetOrdinal("InventoryID"));
                            InventoryItem item   = new InventoryItem(ItemName, ItemQuantity, ItemReorder, ItemDescription, InventoryTypeID, InventoryLocationID, ItemID);
                            Items.Add(item);
                        }
                    }
                }

                foreach (var item in Items)
                {
                    foreach (var location in Locations)
                    {
                        if (location.LocationName == locationName)
                        {
                            if (location.LocationID == item.LocationId)
                            {
                                status.items.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                status.success = false;
                status.Message = ex.Message;
            }

            return(Json(status, JsonRequestBehavior.DenyGet));
        }