Ejemplo n.º 1
0
    public bool SaveNewOrder(OrderHdr order, List <OrderDtl> items, NumberRunNO runNum, ref string msg)
    {
        bool success = false;

        using (var dbContextTransaction = this.Database.BeginTransaction())
        {
            try
            {
                Entry(order).State = EntityState.Added;
                foreach (OrderDtl item in items)
                {
                    Entry(item).State = EntityState.Added;
                }
                Entry(runNum).State = (runNum.isNewMode) ? EntityState.Added : EntityState.Modified;

                SaveChanges(true);
                dbContextTransaction.Commit();
                success = true;
            }
            catch (Exception ex)
            {
                dbContextTransaction.Rollback();
                Console.WriteLine(ex);
                msg = ex.Message;
            }
        }

        return(success);
    }
Ejemplo n.º 2
0
    public uint stamp; // Ordering number

    public static OrderHdr read(BinaryReader binaryReader)
    {
        OrderHdr newObj = new OrderHdr();

        newObj.stamp = binaryReader.ReadUInt32();
        return(newObj);
    }
Ejemplo n.º 3
0
        void Save()
        {
            db = new DataClassesDataContext();
            if (txtOrderNo.Text == "AUTO")
            {
                txtOrderNo.Text = getSONO();
            }

            string   sono  = txtOrderNo.Text;
            var      order = db.OrderHdrs.Where(x => x.OrderNo == sono).FirstOrDefault();
            OrderHdr hdr   = null;

            if (order == null)
            {
                hdr             = new OrderHdr();
                hdr.CreateBy    = "Admin";
                hdr.CreateDate  = DateTime.Now;
                hdr.OrderNo     = sono;
                hdr.OrderStatus = txtStatus.Text;
            }
            else
            {
                hdr = order;
            }
            if (txtDate.Date.Year > 2017)
            {
                hdr.OrderDate = txtDate.Date;
            }

            hdr.OrderType    = txtType.Text;
            hdr.Remark       = txtRemark.Text;
            hdr.ResellerCode = txtAgent.Text;
            hdr.CustomerCode = txtCustCode.Text;
            hdr.CustomerName = txtCustName.Text;

            if (order == null)
            {
                db.OrderHdrs.InsertOnSubmit(hdr);
            }

            using (TransactionScope trans = new TransactionScope())
            {
                try
                {
                    db.SubmitChanges();
                    trans.Complete();
                    callback.JSProperties["cpErr"] = "Save sucessfully";
                }
                catch (Exception ex)
                {
                    callback.JSProperties["cpErr"] = ex.Message;
                }
            }
        }
        public bool SaveArticleStockInData(ArticleStockInModel articleStockInModel)
        {
            try
            {
                var invoice = new Invoice();

                var orderHdr = new OrderHdr();
                orderHdr.OrderDtl = new List <OrderDtl>();

                var articleStockBalances = new List <ArticleStockBalances>();

                //Get article codes for updating article stock
                var articleCodes = (from a in articleStockInModel.ArticleStockBalanceModels
                                    select a.ArticleCode).ToList();

                var articleStockBalanceList = this.articleStockBalanceRepository.GetArticleStockBalanceByArticleCodes(articleCodes);

                Mapper.Map(articleStockInModel.InvoiceModel, invoice);
                Mapper.Map(articleStockInModel.OrderHdrModel, orderHdr);

                for (int rowIndex = 0; rowIndex < articleStockInModel.OrderDtlModels.Count; rowIndex++)
                {
                    orderHdr.OrderDtl.Add(Mapper.Map(articleStockInModel.OrderDtlModels[rowIndex], new OrderDtl()));
                }

                for (int rowIndex = 0; rowIndex < articleStockInModel.ArticleStockBalanceModels.Count; rowIndex++)
                {
                    var articleStockBalance = articleStockBalanceList.Where(a => a.ArticleCode == articleStockInModel.ArticleStockBalanceModels[rowIndex].ArticleCode && a.SiteCode == CommonModel.SiteCode).FirstOrDefault();
                    if (articleStockBalance != null)
                    {
                        articleStockBalance.PhysicalQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].PhysicalQty;
                        articleStockBalance.TotalPhysicalSaleableQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalPhysicalSaleableQty;
                        articleStockBalance.TotalSaleableQty         += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalSaleableQty;
                        articleStockBalance.UPDATEDAT = CommonModel.SiteCode;
                        articleStockBalance.UPDATEDBY = CommonModel.UserID;
                        articleStockBalance.UPDATEDON = DateTime.Now;
                    }
                }

                return(this.articleStockBalanceRepository.SaveArticleStockInData(invoice, orderHdr, articleStockBalanceList.ToList()));
            }
            catch (Exception ex)
            {
                Logger.Log(ex.Message, Logger.LogingLevel.Error);
                throw ex;
            }
        }
Ejemplo n.º 5
0
    public static PacketOpcode readOpcode(BinaryReader fragDataReader)
    {
        PacketOpcode opcode = 0;

        opcode = (PacketOpcode)fragDataReader.ReadUInt32();
        if (opcode == PacketOpcode.WEENIE_ORDERED_EVENT)
        {
            WOrderHdr orderHeader = WOrderHdr.read(fragDataReader);
            opcode = (PacketOpcode)fragDataReader.ReadUInt32();
        }
        if (opcode == PacketOpcode.ORDERED_EVENT)
        {
            OrderHdr orderHeader = OrderHdr.read(fragDataReader);
            opcode = (PacketOpcode)fragDataReader.ReadUInt32();
        }

        return(opcode);
    }
Ejemplo n.º 6
0
        public IActionResult Create([FromBody] OrderInformation orderInformation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }


            var client = Request.GetClient(context);
            var basket = (from i in context.Basket where i.ClientId == client.Id select new OrderDtl {
                Price = i.Price, Product = i.Product, Qty = i.Qty, Status = OrderDtlStatus.Wait
            }).ToList();

            if (basket.Count == 0)
            {
                return(BadRequest());
            }

            //Todo: нужно подключить Automapper
            OrderHdr orderHdr = new OrderHdr();

            orderHdr.Client           = client;
            orderHdr.CreatedDate      = DateTime.Now;
            orderHdr.Status           = OrderHdrStatus.Requested;
            orderHdr.ClientName       = orderInformation.ClientName;
            orderHdr.Phone            = orderInformation.Phone;
            orderHdr.Address          = orderInformation.Address;
            orderHdr.Latitude         = orderInformation.Latitude;
            orderHdr.Longtitude       = orderInformation.Longtitude;
            orderHdr.Sum              = basket.Sum(a => a.Price * a.Qty);
            orderHdr.DeliveryDateTime = orderInformation.DeliveryDateTime.LocalDateTime;
            orderHdr.OrderDtls        = basket;

            context.OrderHdrs.Add(orderHdr);

            context.Basket.RemoveRange(context.Basket.Where(a => a.ClientId == client.Id));

            context.SaveChanges();

            return(Json(new { orderID = orderHdr.Id, clientName = orderHdr.ClientName, sum = orderHdr.Sum, address = orderHdr.Address, orderDate = orderHdr.DeliveryDateTime.ToString("dd-MM-yyyy"), orderTime = orderHdr.DeliveryDateTime.ToString("hh:mm") }));
        }
        public bool SaveArticleStockOutData(ArticleStockOutModel articleStockOutModel)
        {
            try
            {
                var orderHdr = new OrderHdr();
                orderHdr.OrderDtl = new List <OrderDtl>();

                //Get article codes for updating article stock
                var articleCodes = (from a in articleStockOutModel.OrderDtlModels
                                    select a.ArticleCode).ToList();

                var articleStockBalanceList = this.articleStockBalanceRepository.GetArticleStockBalanceByArticleCodes(articleCodes);

                for (int rowIndex = 0; rowIndex < articleStockOutModel.OrderDtlModels.Count(); rowIndex++)
                {
                    var articleStockBalance = articleStockBalanceList.Where(a => a.ArticleCode == articleStockOutModel.OrderDtlModels[rowIndex].ArticleCode).FirstOrDefault();
                    if (articleStockBalance != null)
                    {
                        decimal quantity = articleStockOutModel.OrderDtlModels[rowIndex].AdjustmentQty;

                        if (articleStockOutModel.StockOutReason == StockOutReason.ReturnToSupplier || articleStockOutModel.StockOutReason == StockOutReason.WriteOff)
                        {
                            articleStockBalance.PhysicalQty -= quantity;

                            switch (articleStockOutModel.StockFromLocation)
                            {
                            case StockFromLocation.Damaged:
                                articleStockBalance.TotalPhysicalNonSaleableQty -= quantity;
                                articleStockBalance.DamagedQty -= quantity;
                                break;

                            case StockFromLocation.NonSaleable:
                                articleStockBalance.TotalPhysicalNonSaleableQty -= quantity;
                                articleStockBalance.NonSaleableQty -= quantity;
                                break;

                            case StockFromLocation.Saleable:
                                articleStockBalance.TotalPhysicalSaleableQty -= quantity;
                                articleStockBalance.TotalSaleableQty         -= quantity;
                                break;
                            }
                        }
                        else
                        {
                            articleStockBalance.TotalPhysicalNonSaleableQty += quantity;
                            articleStockBalance.TotalPhysicalSaleableQty    -= quantity;
                            articleStockBalance.TotalSaleableQty            -= quantity;

                            if (articleStockOutModel.StockOutReason == StockOutReason.Damaged)
                            {
                                articleStockBalance.DamagedQty += quantity;
                            }
                            else if (articleStockOutModel.StockOutReason == StockOutReason.NonSaleable)
                            {
                                articleStockBalance.NonSaleableQty -= quantity;
                            }
                        }
                        articleStockBalance.UPDATEDON = DateTime.Now;
                        articleStockBalance.UPDATEDBY = CommonModel.UserID;
                        articleStockBalance.UPDATEDAT = CommonModel.SiteCode;
                    }
                }

                var maxTranNo = this.articleStockBalanceRepository.GetMaxTranNoInStockAdjustment();
                maxTranNo = maxTranNo + 1;
                var stockAdjustmentList = new List <StockAdjustment>();

                for (int i = 0; i < articleStockOutModel.OrderDtlModels.Count; i++)
                {
                    stockAdjustmentList.Add(new StockAdjustment
                    {
                        SiteCode    = CommonModel.SiteCode,
                        TrnNo       = maxTranNo,
                        FinYear     = CommonModel.CurrentDate.ToString("yyyy"),
                        TrnDate     = CommonModel.CurrentDate,
                        ArticleCode = articleStockOutModel.OrderDtlModels[i].ArticleCode,
                        EAN         = articleStockOutModel.OrderDtlModels[i].EAN,
                        UOM         = articleStockOutModel.OrderDtlModels[i].UnitofMeasure,
                        Qty         = articleStockOutModel.OrderDtlModels[i].AdjustmentQty,
                        Reason      = (!string.IsNullOrEmpty(articleStockOutModel.OrderDtlModels[i].Reason)) ? articleStockOutModel.OrderDtlModels[i].Reason : articleStockOutModel.Reason,
                        CREATEDAT   = CommonModel.SiteCode,
                        CREATEDBY   = CommonModel.UserID,
                        CREATEDON   = CommonModel.CurrentDate,
                        UPDATEDAT   = CommonModel.SiteCode,
                        UPDATEDBY   = CommonModel.UserID,
                        UPDATEDON   = CommonModel.CurrentDate,
                        STATUS      = true
                    });

                    maxTranNo += 1;
                }

                return(this.articleStockBalanceRepository.UpdateArticleStockOutData(articleStockBalanceList.ToList(), stockAdjustmentList));
            }
            catch (Exception ex)
            {
                Logger.Log(ex.Message, Logger.LogingLevel.Error);
                throw ex;
            }
        }