Example #1
0
        /// <summary>
        /// Cancel document
        /// </summary>
        protected virtual void Cancel()
        {
            if (btnCancel.Visibility == DevExpress.XtraBars.BarItemVisibility.Never || btnCancel.Enabled == false)
            {
                return;
            }

            this.MessageBox = new MessageBoxs();
            IvsMessage message = new IvsMessage(CommonConstantMessage.COM_MSG_CONFIRM_CANCEL);

            this.MessageBox.Add(message);
            CommonData.MessageTypeResult result = this.MessageBox.Display(CommonData.MessageType.YesNo);
            if (result == CommonData.MessageTypeResult.Yes)
            {
                this.MessageBox = new MessageBoxs();
                StockTransactionBl stockTransactionBl = new StockTransactionBl();
                StockResult        stockResult        = stockTransactionBl.Cancel((ST_StockTransactionMasterDto)this.Dto);
                if (stockResult.ReturnCode == CommonData.StockReturnCode.Succeed)
                {
                    message = new IvsMessage(CommonConstantMessage.COM_MSG_CANCEL_SUCCESSFULLY);
                    this.MessageBox.Add(message);
                    this.MessageBox.Display(CommonData.MessageType.Ok);

                    this.CloseForm();
                }
                else
                {
                    lblErrorMessage.Text = ProcessStockException(stockResult);
                }
            }
        }
Example #2
0
        /// <summary>
        /// Default constructor that Lambda will invoke.
        /// </summary>
        public StockResult FunctionHandler(Input input)
        {
            Console.WriteLine($"Input object: {JsonConvert.SerializeObject(input)}");
            StockResult result = null;
            Repository  repo   = new Repository();

            result = new StockResult();
            result.InventoryPurchase = input.StockResult.InventoryPurchase;
            switch (input.OperationName)
            {
            case "InsertColor":
                result.Color = repo.InsertColor(input.StockResult.InventoryPurchase.ColorName);
                break;

            case "InsertPackageType":
                result.PackageType = repo.InsertPackaging(input.StockResult.InventoryPurchase.OuterPackageName);
                break;

            case "InsertStockItem":
                result.StockItem = repo.InsertStockItem(input.StockResult.InventoryPurchase, input.StockResult.Color.ID, input.StockResult.PackageType.ID);
                break;

            case "UpdateInventoryQty":
                repo.UpdateInventoryQuantity(input.StockResult.StockItem.ID, input.StockResult.InventoryPurchase.PurchaseQuantity);
                break;
            }
            return(result);
        }
Example #3
0
        public ActionResult GetStockSum()
        {
            StockResult com = new StockResult();

            com = _service.GetStockSum();
            return(Json(com));
        }
        /// <summary>
        /// A Lambda function to respond to HTTP Get methods from API Gateway
        /// </summary>
        /// <param name="request"></param>
        /// <returns>The API Gateway response.</returns>
        public APIGatewayProxyResponse Get(APIGatewayProxyRequest request, ILambdaContext context)
        {
            // TO REMOVE
            IRepository  repo    = new Repository();
            IStockResult results = new StockResult();

            results.Color             = repo.GetColor("grey");
            results.PackageType       = repo.GetPackageType("box");
            results.StockItem         = repo.GetStockItem("some stock");
            results.InventoryPurchase = null;


            context.Logger.LogLine("Get Request\n");

            var response = new APIGatewayProxyResponse
            {
                StatusCode = (int)HttpStatusCode.OK,
                Body       = "Hello AWS Serverless",
                Headers    = new Dictionary <string, string> {
                    { "Content-Type", "text/plain" }
                }
            };

            return(response);
        }
Example #5
0
        public async Task <Account> BuyStock(Account account, string stock, int shares)
        {
            StockResult stockInfo = await _stockService.GetStock(stock);

            double stockPrice = stockInfo.Price;

            // 先判断余额是否够, 如果不够,直接抛出异常并立即结束方法
            double transactionPrice = stockPrice * shares;

            if (transactionPrice > account.Balance)
            {
                throw new InsufficientFundsException(account.Balance, transactionPrice);
            }

            AssetTransaction transaction = new AssetTransaction()
            {
                Account = account,
                Asset   = new Asset {
                    Symbol = stock, PricePerShare = stockPrice
                },
                DateProcessed = DateTime.Now,
                Shares        = shares,
                IsPurchase    = true,
            };

            account.AssetTransactions.Add(transaction);
            account.Balance -= transactionPrice;
            await _accountService.Update(account.Id, account);

            return(account);
        }
        public IStockResult FunctionHandler(InventoryPurchase input, ILambdaContext context)
        {
            IRepository  repo    = new Repository();
            IStockResult results = new StockResult();

            results.Color             = repo.GetColor(input.ColorName);
            results.PackageType       = repo.GetPackageType(input.OuterPackageName);
            results.StockItem         = repo.GetStockItem(input.StockItemName);
            results.InventoryPurchase = input;

            return(results);
        }
Example #7
0
        public StockResult DetermineMaxProfit()
        {
            int currSell = -1;
            int currBuy  = _inputData[0];

            StockResult bestResult = null;

            for (int i = 1; i < _inputData.Count; i++)
            {
                var currVal = _inputData[i];
                if (currSell < 0)
                {
                    if (currVal < currBuy)
                    {
                        currBuy = currVal;
                    }
                    else
                    {
                        currSell = currVal;
                    }
                }
                else
                {
                    if (currVal > currSell)
                    {
                        currSell = currVal;
                    }

                    if (currVal < currBuy)
                    {
                        currBuy  = currVal;
                        currSell = -1;
                    }
                }

                if (currSell > 0)
                {
                    if (bestResult == null || currSell - currBuy > bestResult.Profit)
                    {
                        bestResult = new StockResult(currBuy, currSell);
                    }
                    else if (currSell > bestResult.SellPrice)
                    {
                        bestResult.SellPrice = currSell;
                    }
                }
            }

            return(bestResult);
        }
Example #8
0
        public ActionResult GetpageE(Guid?stock_id)
        {
            StockResult       com    = new StockResult();
            string            exmsg  = string.Empty;
            List <StockModel> mylist = _service.GetStockEList(out exmsg, stock_id.Value);

            if (!string.IsNullOrEmpty(exmsg))
            {
                com.Msg     = exmsg;
                com.success = false;
                return(Json(com));
            }
            else
            {
                StockViewModel mylistview = new StockViewModel();
                mylistview.supplist = mylist;
                com.DataResult      = mylistview;
                com.success         = true;
                return(Json(com));
            }
        }
Example #9
0
        /// <summary>
        /// 获取总库存
        /// </summary>
        /// <returns></returns>
        public StockResult GetStockSum()
        {
            using (var db = SugarDao.GetInstance(LoginUser.GetConstr()))
            {
                StockResult result = new StockResult();
                var         list   = db.Queryable <base_wh_stock>().Where(s => s.del_flag).ToList();
                if (list.Count == 0)
                {
                    result.Msg = "0";
                    return(result);
                }
                Decimal sum = 0;
                foreach (var item in list)
                {
                    sum += item.stock_qty;
                }

                string stock_qty = sum.ToString();
                result.Msg = stock_qty;
                return(result);
            }
        }
Example #10
0
        public ActionResult Getpage(string pagenum, string onepagecount, int?orderby, string sku_code)
        {
            StockResult com = new StockResult();

            if (!Regex.IsMatch(pagenum, @"(?i)^[0-9a-z\u4e00-\u9fa5]+$") && !string.IsNullOrEmpty(pagenum))
            {
                com.Msg     = "页数不正确";
                com.success = false;
                return(Json(com));
            }

            if (!Regex.IsMatch(onepagecount, @"(?i)^[0-9a-z\u4e00-\u9fa5]+$") && !string.IsNullOrEmpty(onepagecount))
            {
                com.Msg     = "每页数量不正确";
                com.success = false;
                return(Json(com));
            }
            int               totil     = 0;
            int               totilpage = 0;
            string            exmsg     = string.Empty;
            List <StockModel> mylist    = _service.GetStockList(Convert.ToInt32(pagenum), Convert.ToInt32(onepagecount), out totil, out totilpage, out exmsg, orderby, sku_code);

            if (!string.IsNullOrEmpty(exmsg))
            {
                com.Msg     = exmsg;
                com.success = false;
                return(Json(com));
            }
            else
            {
                StockViewModel mylistview = new StockViewModel();
                mylistview.supplist   = mylist;
                mylistview.totil      = totil.ToString();
                mylistview.totilcount = totilpage.ToString();
                com.DataResult        = mylistview;
                com.success           = true;
                return(Json(com));
            }
        }
Example #11
0
        /// <summary>
        /// Override process error
        /// </summary>
        public virtual string ProcessStockException(StockResult stockResult)
        {
            string messageText = CommonData.StringEmpty;

            if (stockResult.ErrorList.Count == 0)
            {
                messageText = base.ProcessDbExcetion(stockResult.ReturnCode);
                if (CommonMethod.IsNullOrEmpty(messageText))
                {
                    this.MessageBox = new MessageBoxs();
                    IvsMessage message = null;
                    switch (stockResult.ReturnCode)
                    {
                    case CommonData.StockReturnCode.StockArrivingDateNoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_ARRIVING_DATE_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockCancelFail:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_CANCEL_FAIL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockCancelSuccess:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_CANCEL_SUCCESSFULLY);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockCustomerNoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_CUSTOMER_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockDocumnetNoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_DOCUMENT_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockPeriodClose:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_PERIOD_CLOSE);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockPeriodLock:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_PERIOD_LOCK);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockPeriodNotExist:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_PERIOD_NOT_EXIST);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockShippingDateNoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_SHIPPING_DATE_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockSupplierNoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_SUPPLIER_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockWareHouse2NoNull:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_WAREHOUSE2_NO_NULL);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.StockWareHouse2NotExist:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_WAREHOUSE2_NOT_EXIST);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    case CommonData.StockReturnCode.DocumentCanceled:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_DOCUMENT_CANCELED);
                        this.MessageBox.Add(message);
                        this.MessageBox.Display(CommonData.MessageType.Ok);
                        break;

                    default:
                        break;
                    }

                    messageText = this.MessageBox.DisplayMessage;
                }
            }
            else
            {
                this.MessageBox = new MessageBoxs();
                IvsMessage message = null;
                for (int i = 0; i < stockResult.ErrorList.Count; i++)
                {
                    switch (stockResult.ErrorList[i].ReturnCode)
                    {
                    case CommonData.StockReturnCode.StockMinusNg:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_MINUS_NG, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockMinusOk:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_MINUS_OK, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockOutEnough:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_OUT_ENOUGH, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockOutLack:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_OUT_LACK, stockResult.ErrorList[i].Line, stockResult.ErrorList[i].Period);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockSafetyDangerous:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_SAFETY_DANGEROUS, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockProductionLineNotExist:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_PRODUCTION_LINE_NOT_EXIST, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockQualityStatusNotExist:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_QUALITY_STATUS_NOT_EXIST, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockStockTypeNotValid:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_STOCK_TYPE_NOT_VALID, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.RelatedDocumentDateNotValid:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_RELATED_DOCUMENT_DATE_NOT_VALID, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.RelatedDocumentQtyNotValid:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_RELATED_DOCUMENT_QTY_NOT_VALID, stockResult.ErrorList[i].Line);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockCancelFail:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_CANCEL_FAIL);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockCancelRelatedFail:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_CANCEL_RELATED_FAIL);
                        this.MessageBox.Add(message);
                        break;

                    case CommonData.StockReturnCode.StockCancelExistInvoice:
                        message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_CANCEL_EXIST_INVOICE);
                        this.MessageBox.Add(message);
                        break;

                    default:
                        break;
                    }
                }
                //Show messsabox error
                this.MessageBox.Display(CommonData.MessageType.Ok);

                messageText = this.MessageBox.DisplayMessage;
            }

            return(messageText);
        }
Example #12
0
        /// <summary>
        /// Insert or update data to database
        /// </summary>
        protected override int SaveData()
        {
            this.ShowProgressBar();

            this.MessageBox = new MessageBoxs();
            IvsMessage  message     = null;
            StockResult stockResult = new StockResult();
            ST_StockTransactionMasterDto stockMaster = (ST_StockTransactionMasterDto)this.Dto;

            stockMaster.SafetyStockFlag = this.SafetyStockFlag;

            //This is case ViewMode is Edit, system will update data to database
            if (this.ViewMode == CommonData.Mode.Edit)
            {
                ///UAT : Nếu ngày xuất và ngày nhận ko cùng 1 ngày => khi nhận sẽ có thông báo warning lên cho user biết >
                ///nếu user nhấn yes trên warning cho nhận nếu nhấn no trên warning ko cho nhận.
                if (FunctionGr == CommonData.FunctionGr.ST_ST_StockTransferArrivingInStorage)
                {
                    if (Dto != null)
                    {
                        ST_StockTransactionMasterDto dtoMaster = (ST_StockTransactionMasterDto)Dto;

                        if (dtoMaster.ShippingDate != dtoMaster.ArrivingDate)
                        {
                            message = new IvsMessage(CommonConstantMessage.COM_MSG_NOT_MATCH_WARNING, dtoMaster.ArrivingDateCtrl, dtoMaster.ShippingDateCtrl);
                            this.MessageBox.Add(message);
                            CommonData.MessageTypeResult result = this.MessageBox.Display(CommonData.MessageType.YesNo);
                            if (result != CommonData.MessageTypeResult.Yes)
                            {
                                return(CommonData.DbReturnCode.DataNotFound);
                            }
                        }
                    }
                }

                stockResult = Bl.UpdateTransactionData(stockMaster);
                if (stockResult.ReturnCode == CommonData.DbReturnCode.Succeed)
                {
                    message = new IvsMessage(CommonConstantMessage.COM_MSG_UPDATE_SUCCESSFULLY);
                    this.MessageBox.Add(message);
                    this.MessageBox.Display(CommonData.MessageType.Ok);
                }
                else
                {
                    this.ProcessStockException(stockResult);
                }
            }
            //This is case ViewMode is New, system will insert data to databas
            else if (this.ViewMode == CommonData.Mode.New)
            {
                stockResult = Bl.InsertTransactionData(stockMaster);
                if (stockResult.ReturnCode == CommonData.DbReturnCode.Succeed)
                {
                    this.DocumentNumber = stockResult.DocumentNumber;

                    //stockMaster.DocumentNumber = stockResult.DocumentNumber;
                    //this.Dto = stockMaster;
                    //stockMaster.DocumentNumber = stockResult.DocumentNumber;
                    //this.ctrlHeader.Dto = stockMaster;

                    message = new IvsMessage(CommonConstantMessage.COM_MSG_INSERT_SUCCESSFULLY);
                    this.MessageBox.Add(message);
                    this.MessageBox.Display(CommonData.MessageType.Ok);
                }
                else
                {
                    if (this.SafetyStockFlag == false)
                    {
                        //Check warning safety dangerous
                        //count number of safety dangerous
                        int numOfSafetyDangerous = stockResult.ErrorList.Count(lt => lt.ReturnCode.Equals(CommonData.StockReturnCode.StockSafetyDangerous));
                        //check if total error is number of safety dangerous
                        if (numOfSafetyDangerous > 0 && (numOfSafetyDangerous == stockResult.ErrorList.Count))
                        {
                            //Show warning
                            //message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_SAFETY_DANGEROUS);
                            for (int i = 0; i < stockResult.ErrorList.Count; i++)
                            {
                                switch (stockResult.ErrorList[i].ReturnCode)
                                {
                                case CommonData.StockReturnCode.StockSafetyDangerous:
                                    message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_GRID_STOCK_SAFETY_DANGEROUS, stockResult.ErrorList[i].Line);
                                    this.MessageBox.Add(message);
                                    break;

                                default:
                                    break;
                                }
                            }
                            //this.MessageBox.Add(message);
                            CommonData.MessageTypeResult result = this.MessageBox.Display(CommonData.MessageType.YesNo);
                            if (result == CommonData.MessageTypeResult.Yes)
                            {
                                //Update SafetyFlag to not warning again.
                                this.SafetyStockFlag = true;

                                //Save again
                                stockResult.ReturnCode = this.SaveData();
                            }
                        }
                        else
                        {
                            this.ProcessStockException(stockResult);
                        }
                    }
                    else
                    {
                        this.ProcessStockException(stockResult);
                    }
                }
            }

            this.HideProgressBar();

            return(stockResult.ReturnCode);
        }
Example #13
0
        /// <summary>
        /// Insert or update data to database
        /// </summary>
        protected override int SaveData()
        {
            this.MessageBox = new MessageBoxs();
            IvsMessage  message     = null;
            StockResult stockResult = new StockResult();
            ST_StockTransactionMasterDto stockMaster = (ST_StockTransactionMasterDto)this.Dto;

            stockMaster.SafetyStockFlag = this.SafetyStockFlag;

            //This is case ViewMode is Edit, system will update data to database
            if (this.ViewMode == CommonData.Mode.Edit)
            {
                stockResult = Bl.UpdateTransactionData(stockMaster);
                if (stockResult.ReturnCode == CommonData.DbReturnCode.Succeed)
                {
                    message = new IvsMessage(CommonConstantMessage.COM_MSG_UPDATE_SUCCESSFULLY);
                    this.MessageBox.Add(message);
                    this.MessageBox.Display(CommonData.MessageType.Ok);
                }
                else
                {
                    this.ProcessStockException(stockResult);
                }
            }
            //This is case ViewMode is New, system will insert data to databas
            else if (this.ViewMode == CommonData.Mode.New)
            {
                stockResult = Bl.InsertTransactionData(stockMaster);
                if (stockResult.ReturnCode == CommonData.DbReturnCode.Succeed)
                {
                    message = new IvsMessage(CommonConstantMessage.COM_MSG_INSERT_SUCCESSFULLY);
                    this.MessageBox.Add(message);
                    this.MessageBox.Display(CommonData.MessageType.Ok);
                }
                else
                {
                    if (this.SafetyStockFlag == false)
                    {
                        //Check warning safety dangerous
                        //count number of safety dangerous
                        int numOfSafetyDangerous = stockResult.ErrorList.Count(lt => lt.ReturnCode.Equals(CommonData.StockReturnCode.StockSafetyDangerous));
                        //check if total error is number of safety dangerous
                        if (numOfSafetyDangerous > 0 && (numOfSafetyDangerous == stockResult.ErrorList.Count))
                        {
                            //Show warning
                            message = new IvsMessage(CommonConstantMessage.COM_MSG_STOCK_SAFETY_DANGEROUS);
                            this.MessageBox.Add(message);
                            CommonData.MessageTypeResult result = this.MessageBox.Display(CommonData.MessageType.YesNo);
                            if (result == CommonData.MessageTypeResult.Yes)
                            {
                                //Update SafetyFlag to not warning again.
                                this.SafetyStockFlag = true;

                                //Save again
                                stockResult.ReturnCode = this.SaveData();
                            }
                        }
                        else
                        {
                            this.ProcessStockException(stockResult);
                        }
                    }
                    else
                    {
                        this.ProcessStockException(stockResult);
                    }
                }
            }

            return(stockResult.ReturnCode);
        }