public ReturnType AddPayCharge(PayCharge paycharge)
 {
     try
     {
         using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
         {
             alading.AddToPayCharge(paycharge);
             if (alading.SaveChanges() == 1)
             {
                 return(ReturnType.Success);
             }
             else
             {
                 return(ReturnType.PropertyExisted);
             }
         }
     }
     catch (SqlException sex)
     {
         return(ReturnType.ConnFailed);
     }
     catch (Exception ex)
     {
         return(ReturnType.OthersError);
     }
 }
示例#2
0
 public ReturnType AddInOutAndDetails(StockInOut stockInOut, PayCharge payChage, List <StockDetail> sdList, List <StockHouseProduct> shpList, List <View_StockItemProduct> vsipList)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToPayCharge(payChage);
             alading.AddToStockInOut(stockInOut);
             foreach (StockDetail sd in sdList)
             {
                 alading.AddToStockDetail(sd);
             }
             foreach (StockHouseProduct shp in shpList)
             {
                 StockHouseProduct tmpshp = alading.StockHouseProduct.FirstOrDefault(c => c.HouseProductCode == shp.HouseProductCode);
                 if (tmpshp != null)
                 {
                     tmpshp.Num = shp.Num;
                 }
                 else
                 {
                     alading.AddToStockHouseProduct(shp);
                 }
             }
             foreach (View_StockItemProduct vsip in vsipList)
             {
                 StockItem    stockItem    = alading.StockItem.FirstOrDefault(s => s.OuterID == vsip.OuterID);
                 StockProduct stockProduct = alading.StockProduct.FirstOrDefault(s => s.SkuOuterID == vsip.SkuOuterID);
                 stockItem.TotalQuantity     = Math.Round(vsip.TotalQuantity, 3);
                 stockProduct.SkuQuantity    = vsip.SkuQuantity;
                 stockProduct.LastStockPrice = vsip.LastStockPrice;
                 stockProduct.AvgStockPrice  = vsip.AvgStockPrice;
             }
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
 public ReturnType AddPayCharge(List <PayCharge> paychargeList)
 {
     try
     {
         using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
         {
             foreach (PayCharge paycharge in paychargeList)
             {
                 alading.AddToPayCharge(paycharge);
             }
             alading.SaveChanges();
             return(ReturnType.Success);
         }
     }
     catch (SqlException sex)
     {
         return(ReturnType.ConnFailed);
     }
     catch (Exception ex)
     {
         return(ReturnType.OthersError);
     }
 }
        public ReturnType UpdateTradeRefund(List <TradeRefund> tradeRefundList, List <StockProduct> stockProductList, List <StockHouseProduct> houseProList
                                            , List <StockInOut> stockInOutList, List <StockDetail> stockDetailList, PayCharge payCharge, List <string> refundIdList
                                            , List <string> outerSkuIdList, List <string> outerIdList)
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    /*更新TradeRefund*/
                    var refundResult = alading.TradeRefund.Where(BuildWhereInExpression <TradeRefund, string>(v => v.refund_id, refundIdList));
                    if (refundResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (TradeRefund tradeRefund in tradeRefundList)//需要更新的新数据
                    {
                        TradeRefund oldRefund = refundResult.Where(c => c.refund_id == tradeRefund.refund_id).FirstOrDefault();
                        //TradeRefundCopydata(oldRefund, tradeRefund);
                        oldRefund.IsRecieved  = tradeRefund.IsRecieved;
                        oldRefund.LocalPrivyC = tradeRefund.LocalPrivyC;
                    }

                    /*更新StockProduct 和 StockItem*/
                    var stockProductResult = alading.StockProduct.Where(BuildWhereInExpression <StockProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    var stockItemResult    = alading.StockItem.Where(BuildWhereInExpression <StockItem, string>(v => v.OuterID, outerIdList));
                    if (stockProductResult == null || stockItemResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (StockProduct stockProduct in stockProductList)
                    {
                        //获取StockProduct的原始数据
                        StockProduct oldStockProduct = stockProductResult.Where(c => c.SkuOuterID == stockProduct.SkuOuterID).FirstOrDefault();
                        //获取StockItem的原始数据
                        StockItem oldStockItem = stockItemResult.Where(c => c.OuterID == stockProduct.OuterID).FirstOrDefault();
                        if (oldStockProduct != null && oldStockItem != null)
                        {
                            //获取StockProduct的相关原始数据的商品数量
                            oldStockProduct.SkuQuantity = oldStockProduct.SkuQuantity + stockProduct.SkuQuantity;
                            //获取oldStockItem的相关原始数据的商品数量
                            oldStockItem.TotalQuantity = oldStockItem.TotalQuantity + stockProduct.SkuQuantity;
                        }
                        else
                        {
                            return(ReturnType.NotExisted);
                        }
                    }

                    /*添加或更新StockHouseProduct*/
                    var stockHouseProResult = alading.StockHouseProduct.Where(BuildWhereInExpression <StockHouseProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    foreach (StockHouseProduct stockHousePro in houseProList)
                    {
                        StockHouseProduct oldPro = stockHouseProResult.Where(c => c.SkuOuterID == stockHousePro.SkuOuterID &&
                                                                             c.HouseCode == stockHousePro.HouseCode && c.LayoutCode == stockHousePro.LayoutCode).FirstOrDefault();
                        if (oldPro != null)
                        {
                            oldPro.Num += stockHousePro.Num;
                        }
                        else
                        {
                            stockHousePro.HouseProductCode = Guid.NewGuid().ToString();
                            alading.AddToStockHouseProduct(stockHousePro);
                        }
                    }

                    /*添加StockInOut*/
                    foreach (StockInOut stockInOut in stockInOutList)
                    {
                        alading.AddToStockInOut(stockInOut);
                    }

                    /*添加StockDetail*/
                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        alading.AddToStockDetail(stockDetail);
                    }

                    alading.AddToPayCharge(payCharge);

                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }

            catch (SqlException sex)
            {
                return(ReturnType.ConnFailed);
            }
            catch (Exception ex)
            {
                return(ReturnType.OthersError);
            }
        }
        public ReturnType UpdateStock(List <StockProduct> stockProductList, List <StockHouseProduct> stockHouseProList, List <StockInOut> stockInOutList
                                      , List <StockDetail> stockDetailList, PayCharge payCharge, List <string> outerSkuIdList, List <string> outerIdList)//zxl
        {
            try
            {
                using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
                {
                    #region 更新StockProduct 和 StockItem
                    var stockProductResult = alading.StockProduct.Where(BuildWhereInExpression <StockProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    var stockItemResult    = alading.StockItem.Where(BuildWhereInExpression <StockItem, string>(v => v.OuterID, outerIdList));
                    if (stockProductResult == null || stockItemResult == null)
                    {
                        return(ReturnType.NotExisted);
                    }

                    foreach (StockProduct stockProduct in stockProductList)
                    {
                        //获取StockProduct的原始数据
                        StockProduct oldStockProduct = stockProductResult.Where(c => c.SkuOuterID == stockProduct.SkuOuterID).FirstOrDefault();
                        //获取StockItem的原始数据
                        StockItem oldStockItem = stockItemResult.Where(c => c.OuterID == stockProduct.OuterID).FirstOrDefault();
                        //获取StockProduct的相关原始数据的商品数量
                        oldStockProduct.SkuQuantity += stockProduct.SkuQuantity;
                        //获取oldStockItem的相关原始数据的商品数量
                        oldStockItem.TotalQuantity += stockProduct.SkuQuantity;
                    }
                    #endregion

                    #region 添加或更新StockHouseProduct
                    var stockHouseProResult = alading.StockHouseProduct.Where(BuildWhereInExpression <StockHouseProduct, string>(v => v.SkuOuterID, outerSkuIdList));
                    foreach (StockHouseProduct stockHousePro in stockHouseProList)
                    {
                        StockHouseProduct oldPro = stockHouseProResult.Where(c => c.SkuOuterID == stockHousePro.SkuOuterID &&
                                                                             c.HouseCode == stockHousePro.HouseCode && c.LayoutCode == stockHousePro.LayoutCode).FirstOrDefault();
                        if (oldPro != null)
                        {
                            oldPro.Num += stockHousePro.Num;
                        }
                        else
                        {
                            stockHousePro.HouseProductCode = Guid.NewGuid().ToString();
                            alading.AddToStockHouseProduct(stockHousePro);
                        }
                    }
                    #endregion

                    #region 添加StockInOut
                    foreach (StockInOut stockInOut in stockInOutList)
                    {
                        alading.AddToStockInOut(stockInOut);
                    }
                    #endregion

                    #region 添加StockDetail
                    foreach (StockDetail stockDetail in stockDetailList)
                    {
                        alading.AddToStockDetail(stockDetail);
                    }
                    #endregion

                    #region 添加PayCharge
                    alading.AddToPayCharge(payCharge);
                    #endregion
                    alading.SaveChanges();
                    return(ReturnType.Success);
                }
            }

            catch (SqlException sex)
            {
                return(ReturnType.ConnFailed);
            }
            catch (Exception ex)
            {
                return(ReturnType.OthersError);
            }
        }