示例#1
0
        public int InsertOrderShipmentDetails(OrderFulfillment.OrderShipmentDetails obj)
        {
            int result = 0;

            result = _blOrder.InsertOrderShipmentDetails(obj, obj.subDomainName);
            return(result);
        }
示例#2
0
        public int InsertOrderShipmentDetails(OrderFulfillment.OrderShipmentDetails obj, string subDomainName)
        {
            List <OrderFulfillment.OrderShipmentProductDetails> Acc = JsonConvert.DeserializeObject <List <OrderFulfillment.OrderShipmentProductDetails> >(obj.lstProduct).ToList();


            int    rowAffected = 0;
            string error       = string.Empty;

            try
            {
                int newId = 0;

                using (IDbConnection connection = IDbOpenConnectionCompanyWise(subDomainName))
                {
                    StringBuilder query = new StringBuilder();
                    query.Append("Select count(1) From Tbl_SfA_POB_OrderDispatch_Header Where Invoice_No = @InvoiceNo and Order_Id = @Order_Id");
                    rowAffected = connection.Query <int>(query.ToString(),
                                                         new
                    {
                        InvoiceNo = obj.InvoiceNo,
                        Order_Id  = obj.Order_Id,
                    }).FirstOrDefault();
                    connection.Close();
                }
                if (rowAffected == 0)
                {
                    using (IDbConnection connection = IDbOpenConnectionCompanyWise(subDomainName))
                    {
                        StringBuilder query = new StringBuilder();
                        query.Append("Insert Into Tbl_SfA_POB_OrderDispatch_Header (Company_Id,Order_Id,Invoice_No,Invoice_Date,Dispatch_Date,Acknowledge_Date,Attachement,Created_by,Created_Date)");
                        query.Append(" Values(@Company_Id, @Order_Id, @InvoiceNo,@InvoiceDate, @DispatchDate, @AckDate, @UploadImg , @UserCode, GetDate()) Select  CAST(SCOPE_IDENTITY() as int)");

                        newId = connection.Query <int>(query.ToString(),
                                                       new
                        {
                            Company_Id   = obj.Company_Id,
                            UserCode     = obj.UserCode,
                            Order_Id     = obj.Order_Id,
                            InvoiceNo    = obj.InvoiceNo,
                            InvoiceDate  = obj.InvoiceDate,
                            DispatchDate = obj.DispatchDate,
                            AckDate      = obj.AckDate,
                            UploadImg    = obj.Attachment
                        }).FirstOrDefault();

                        connection.Close();
                    }
                    using (IDbConnection connection = IDbOpenConnectionCompanyWise(subDomainName))
                    {
                        IDbTransaction trans = connection.BeginTransaction();
                        foreach (var item in Acc)
                        {
                            string LineQuery = "Insert Into Tbl_SfA_POB_OrderDispatch_Details (Company_Id,Order_Id,Dispatch_Id,Product_Code,Dispatch_Quantity,Rate,Created_By,Created_Date)" +
                                               " Values(@Company_Id, @Order_Id, @Dipatch_Id,@Product_Code,@Dispatch_Qty,@Rate,@UserCode,GetDate())  Select  CAST(SCOPE_IDENTITY() as int)";
                            rowAffected = connection.Execute(LineQuery,
                                                             new
                            {
                                Company_Id   = obj.Company_Id,
                                Order_Id     = obj.Order_Id,
                                Dipatch_Id   = newId,
                                Product_Code = item.Product_Code,
                                Product_Name = item.Product_Name,
                                Order_Qty    = 0,
                                Dispatch_Qty = item.Dispatch_Qty,
                                Rate         = item.Rate,
                                Product_Type = item.Product_Type,
                                UserCode     = obj.UserCode
                            }, transaction: trans);
                        }
                        trans.Commit();
                    }

                    using (IDbConnection connection = IDbOpenConnectionCompanyWise(subDomainName))
                    {
                        IDbTransaction trans = connection.BeginTransaction();
                        foreach (var item1 in Acc)
                        {
                            string LineQuery = "Update TBL_SFA_OrderMaintenance_Details Set Dispatch_Qty = (Dispatch_Qty+@Dispatch_Qty), Balance_Qty = (Balance_Qty-@Dispatch_Qty), Updated_Date = GetDate(), Updated_By = @UserCode Where  Order_Id = @Order_Id and Product_Code=@Product_Code";
                            rowAffected = connection.Execute(LineQuery,
                                                             new
                            {
                                Order_Id     = obj.Order_Id,
                                Dispatch_Qty = item1.Dispatch_Qty,
                                Rate         = item1.Rate,
                                Product_Code = item1.Product_Code,
                                UserCode     = obj.UserCode
                            }, transaction: trans);
                        }
                        trans.Commit();
                    }
                }
                else
                {
                    rowAffected = -1;
                }
                return(rowAffected);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#3
0
 public int InsertOrderShipmentDetails(OrderFulfillment.OrderShipmentDetails obj, string subDomainName)
 {
     return(DAL_Order.InsertOrderShipmentDetails(obj, subDomainName));
 }