Пример #1
0
        public List <WebOrderDetailModel> GetWebOrderDetailsForAck(int headerId)
        {
            DbDataReader        idrOrder  = null;
            WebOrderDetailModel ObjDetail = null;

            try
            {
                List <WebOrderDetailModel> detailList = new List <WebOrderDetailModel>();
                idrOrder = this.DataAcessService.ExecuteQuery(OrderSql["GetWebOrderDetailsById"].Format(headerId));

                if (idrOrder != null && idrOrder.HasRows)
                {
                    while (idrOrder.Read())
                    {
                        ObjDetail              = new WebOrderDetailModel();
                        ObjDetail.WebId        = ExtensionMethods.GetInt32(idrOrder, "web_id");
                        ObjDetail.ItemStatus   = ExtensionMethods.GetInt32(idrOrder, "record_status");
                        ObjDetail.GTINCode     = ExtensionMethods.GetString(idrOrder, "gtin_code").ToString();
                        ObjDetail.BackOrderQty = ExtensionMethods.GetDouble(idrOrder, "order_qty");
                        ObjDetail.ItemPrice    = ExtensionMethods.GetDouble(idrOrder, "unit_cost");

                        detailList.Add(ObjDetail);
                    }
                }
                return(detailList);
            }
            catch
            {
                throw;
            }
            finally
            {
                if (idrOrder != null && (!idrOrder.IsClosed))
                {
                    idrOrder.Close();
                }
            }
        }
Пример #2
0
        //---------------------------------------------------------------------------------------
        // This is Soooo prone for race conditions as this is not the only application writing
        // to this table. Workaround taken now is to schedule the two applications in
        // non conflicting windows. But THIS SHOULD BE PROPERLY ADDRESSED
        //---------------------------------------------------------------------------------------
        public bool InsertWebOrderDetail(WebOrderDetailModel orderDetail)
        {
            bool isSuccess = false;
            int  NoRecord  = 0;

            try
            {
                float backOrderQty     = 0.000F;
                float unitDiscountPerc = 0.000F;
                float tax     = 0.000F;
                float freeQty = 0.000F;
                // string catlogCode = string.Empty;

                DbInputParameterCollection paramCollection = new DbInputParameterCollection()
                {
                    DbInputParameter.GetInstance("@WebId",
                                                 DbType.Int32,
                                                 orderDetail.WebId),

                    DbInputParameter.GetInstance("@CatlogCode",
                                                 DbType.String,
                                                 orderDetail.CatlogCode),

                    DbInputParameter.GetInstance("@OrderQty",
                                                 DbType.Int32,
                                                 orderDetail.OrderQty),

                    DbInputParameter.GetInstance("@BackOrderQty",
                                                 DbType.Int32,
                                                 backOrderQty),

                    DbInputParameter.GetInstance("@UnitPrice",
                                                 DbType.Double,
                                                 orderDetail.UnitPrice),

                    DbInputParameter.GetInstance("@UnitCost",
                                                 DbType.Double,
                                                 orderDetail.UnitCost),

                    DbInputParameter.GetInstance("@UnitDiscountPerc",
                                                 DbType.Double,
                                                 unitDiscountPerc),

                    DbInputParameter.GetInstance("@Tax",
                                                 DbType.Double,
                                                 tax),

                    DbInputParameter.GetInstance("@FreeQty",
                                                 DbType.Int32,
                                                 freeQty),

                    DbInputParameter.GetInstance("@ProductNote",
                                                 DbType.String,
                                                 orderDetail.ProductNote),

                    DbInputParameter.GetInstance("@ItemStatus",
                                                 DbType.Int32,
                                                 orderDetail.ItemStatus),

                    DbInputParameter.GetInstance("@GTINCode",
                                                 DbType.String,
                                                 orderDetail.GTINCode),
                };

                NoRecord = this.DataAcessService.ExecuteNonQuery(OrderSql["InsertWebOrderDetail"], paramCollection);
                if (NoRecord > 0)
                {
                    isSuccess = true;
                }
                else
                {
                    isSuccess = false;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(isSuccess);
        }
Пример #3
0
        //---------------------------------------------------------------
        public void fillWebOrder(WebOrderHeaderModel webOrder, Interchange interchange)
        {
            webOrder.Comments     = this.freeTextElement.value;
            webOrder.DateRequired = this.DeliveryDate.DateTime;
            webOrder.OrderDate    = this.MessageDate.DateTime;
            webOrder.PurchaseCode = this.DocumentNumber;
            webOrder.Status       = "Processing"; // TODO // 29 - Accept  27 - Reject  4-Change
            //webOrder.IsAckRequired = interchange.AckRequest;

            webOrder.SenderAddress     = interchange.SenderId;
            webOrder.ReceiverAddress   = interchange.RecipientId;
            webOrder.MessageRefference = this.MessageRef;
            webOrder.OrderResponseNo   = "";
            //   webOrder.ResponseDate = this.MessageDate.DateTime;
            //   webOrder.DeliveryDate = this.DeliveryDate.DateTime;
            webOrder.BuyerOrderNo = this.DocumentNumber;
            webOrder.PromotionNo  = "";
            webOrder.TotalAmount  = 0;

            foreach (NAD NameAddress in this.NAD)
            {
                if (NameAddress.PartyId == "ST")
                {
                    webOrder.OrderNote = NameAddress.AddressString;
                    webOrder.BillTo    = 540; // TODO
                }

                if (NameAddress.PartyQualifier == "ST")
                {
                    webOrder.ShippingAddress = NameAddress.PartyId;
                }
                else if (NameAddress.PartyQualifier == "BY")
                {
                    webOrder.BuyingAddress = NameAddress.PartyId;
                }
                else if (NameAddress.PartyQualifier == "SU")
                {
                    webOrder.SupplierAddress = NameAddress.PartyId;
                }
            }

            if (Lines.Count > 0)
            {
                webOrder.WebOrderDetailList = new List <WebOrderDetailModel>();

                foreach (LineItem li in this.Lines)
                {
                    WebOrderDetailModel wod = new WebOrderDetailModel();
                    wod.CatlogCode  = li.PIA.ItemCode;
                    wod.ProductNote = li.PIA.ItemCode;
                    wod.OrderQty    = li.QTY.Quantity;
                    wod.UnitCost    = Decimal.ToDouble(li.Price.Amount);
                    wod.UnitPrice   = Decimal.ToDouble(li.Price.Amount);
                    wod.GTINCode    = li.GTIN;
                    wod.ItemStatus  = 0; //3-changed  5-accepted  7-not accepted
                    //wod.BackOrderQty = li.QTY.Quantity;
                    //wod.ItemPrice = Decimal.ToDouble(li.Price.Amount);
                    webOrder.WebOrderDetailList.Add(wod);
                }
            }

            webOrder.ItemCount     = interchange.QuoteMessage.Lines.Count;
            webOrder.DetailsStatus = 0;
        }