Beispiel #1
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_BE">要修改的实体</param>
        /// <param name="sqlTrans">事务类</param>
        public void RUpdate(int p_ID, int p_DID, BaseEntity[] p_BE, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = "DELETE Sale_SaleOrderItem WHERE MainID=" + SysString.ToDBString(p_ID);
                sql += " AND DID=" + SysString.ToDBString(p_DID);
                sqlTrans.ExecuteNonQuery(sql);
                decimal SH = 0;
                for (int i = 0; i < p_BE.Length; i++)
                {
                    SaleOrderItemRule rule   = new SaleOrderItemRule();
                    SaleOrderItem     entity = (SaleOrderItem)p_BE[i];
                    entity.MainID = p_ID;
                    entity.Seq    = i + 1;
                    rule.RAdd(entity, sqlTrans);
                    SH = entity.SH;
                }

                sql  = "UPDATE Sale_SaleOrderDts SET YarnCalcFlag=1";
                sql += " WHERE ID=" + SysString.ToDBString(p_DID);
                sqlTrans.ExecuteNonQuery(sql);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
        public void SaleOrderTest()
        {
            using (var Session = NhibernateLayer.OpenSession())
            {
                using (var Transaction = Session.BeginTransaction())
                {
                    SaleOrderItemUnitTest SOrderItem = new SaleOrderItemUnitTest();
                    var SaleOrderItemID = SOrderItem.GetSaleOrderItem();


                    SaleOrderItem SaleOrderitem = Session.Get <SaleOrderItem>(SaleOrderItemID);


                    SaleOrder SaleOrder1 = new SaleOrder
                    {
                        Title        = "Ali",
                        CreationDate = DateTime.Now
                    };

                    SaleOrder1.SaleorderItems.Add(SaleOrderitem);


                    Session.Save(SaleOrder1);
                    Transaction.Commit();

                    var res = Session.Get <SaleOrder>(SaleOrder1.Id);
                    Assert.AreEqual(res.Id, SaleOrder1.Id);
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// 新增行
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int InsertItem(SaleOrderItem model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into SaleOrderItem(");
            strSql.Append("SaleOrderItemID,SaleOrderID,MaterialID,PlanQty,PlanCost,PrimaryUnitID,Remark,ActualQty)");
            strSql.Append(" values (");
            strSql.Append("@SaleOrderItemID,@SaleOrderID,@MaterialID,@PlanQty,@PlanCost,@PrimaryUnitID,@Remark,@ActualQty)");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SaleOrderItemID", SqlDbType.VarChar, 36),
                new SqlParameter("@SaleOrderID",     SqlDbType.VarChar, 36),
                new SqlParameter("@MaterialID",      SqlDbType.VarChar, 36),
                new SqlParameter("@PlanQty",         SqlDbType.Decimal, 13),
                new SqlParameter("@ActualQty",       SqlDbType.Decimal, 13),
                new SqlParameter("@PlanCost",        SqlDbType.Decimal, 13),
                new SqlParameter("@PrimaryUnitID",   SqlDbType.VarChar, 36),
                new SqlParameter("@Remark",          SqlDbType.VarChar, 1024)
            };
            parameters[0].Value = model.SaleOrderItemID;
            parameters[1].Value = model.SaleOrderID;
            parameters[2].Value = model.MaterialID;
            parameters[3].Value = model.PlanQty;
            parameters[4].Value = model.ActualQty;
            parameters[5].Value = model.PlanCost;
            parameters[6].Value = model.PrimaryUnitID;
            parameters[7].Value = model.Remark;

            return(DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters));
        }
 private void BtnUpdateSaleOrderItemQty_Click(object sender, EventArgs e)
 {
     SaleOrderItem.updateQty(selectedSaleOrderItemsRowId(), in_SaleOrderItemQty.ValueDecimal);
     in_SaleOrderItemQty.Value         = 0;
     pnlUpdateSaleOrderItemQty.Visible = false;
     populateGridSaleOrderItems();
 }
Beispiel #5
0
        public Guid SaleOrderItemId()
        {
            using (var session = NHibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var  IDItem = ItemId();
                    Item item   = session.Get <Item>(IDItem);

                    var  IDRack = RackId();
                    Rack rack   = session.Get <Rack>(IDRack);

                    var saleOrderItem = new SaleOrderItem
                    {
                        NetPrice   = "12",
                        Quantity   = "43",
                        TotalPrice = "67",
                        UnitPrice  = "67",
                        Rack       = rack,
                        Item       = item
                    };
                    session.Save(saleOrderItem);
                    transaction.Commit();
                    saleOrderItem = session.Get <SaleOrderItem>(saleOrderItem.Id);
                    return(saleOrderItem.Id);
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Delete(BaseEntity p_Entity)
        {
            try
            {
                SaleOrderItem MasterEntity = (SaleOrderItem)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //删除主表数据
                string Sql = "";
                Sql = "DELETE FROM Sale_SaleOrderItem WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID);
                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(Sql);
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(Sql);
                }

                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E);
            }
        }
Beispiel #7
0
        private void ChangePriceTotal(SaleOrderItem item)
        {
            var Order = dbSaleOrder.Get(item.SaleOrder.Id);

            Order.PriceTotal = Order.SaleOrderItem
                               .Where(s => s.Status == true)
                               .Sum(t => t.PriceSalebyUnit * t.Unit);
            dbSaleOrder.Update(item.SaleOrder.Id, Order, item.UpdatedId);
        }
Beispiel #8
0
        public void UpdateSingle(Guid id, SaleOrderItem item, Guid UpdatedId)
        {
            var inventory = dbStock.ExistsProduct(item.Product_Id, item.SaleOrder.Id, item.Unit);

            Check.IsEquals(inventory, false, "No exite inventario disponible para este producto");
            item.State     = ObjectState.Modified;
            item.UpdatedId = UpdatedId;
            db.Save(item);
            ChangePriceTotal(item);
        }
Beispiel #9
0
        public int UpdateSaleOrderItem(SaleOrderItem objSaleOrderItem)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                string sql = @"UPDATE SaleOrderItem SET SlNo = @SlNo ,WorkDescriptionId = @WorkDescriptionId ,Remarks = @Remarks,PartNo = @PartNo,Quantity = @Quantity,UnitId = @UnitId,Rate = @Rate,Discount = @Discount  OUTPUT INSERTED.SaleOrderItemId  WHERE SaleOrderItemId = @SaleOrderItemId";


                var id = connection.Execute(sql, objSaleOrderItem);
                return(id);
            }
        }
 private void populatePageData()
 {
     if (_formMode == FormMode.Browse)
     {
         gridSaleOrderItems.DataSource = SaleOrderItem.get(null, null, _Customers_Id, true);
     }
     else
     {
         populateGridSaleOrders();
     }
 }
Beispiel #11
0
 public void SaleOrderItemTest()
 {
     using (var Session = NhibernateLayer.OpenSession())
     {
         using (var Transaction = Session.BeginTransaction())
         {
             var           SaleID         = GetSaleOrderItem();
             SaleOrderItem SaleOrderItem1 = Session.Get <SaleOrderItem>(SaleID);
             Assert.AreEqual(SaleID, SaleOrderItem1.Id);
         }
     }
 }
Beispiel #12
0
        /// <summary>
        /// 检验字段值是否已存在
        /// </summary>
        /// <param name="p_TableName">表名</param>
        /// <param name="p_FieldName">字段名</param>
        /// <param name="p_FieldValue">字段值</param>
        /// <param name="p_KeyField">主键(只考虑主键为ID的情况)</param>
        /// <param name="p_KeyValue">主键值</param>
        /// <param name="p_sqlTrans"></param>
        /// <returns></returns>
        private bool CheckFieldValueIsExist(BaseEntity p_BE, string p_FieldName, string p_FieldValue, IDBTransAccess p_sqlTrans)
        {
            SaleOrderItem entity = (SaleOrderItem)p_BE;
            bool          ret    = false;
            string        sql    = string.Format(" SELECT {0} FROM {1} WHERE 1=1 AND {0}={2} AND {3}<>{4}", p_FieldName, SaleOrderItem.TableName, SysString.ToDBString(p_FieldValue), "ID", entity.ID);
            DataTable     dt     = p_sqlTrans.Fill(sql);

            if (dt.Rows.Count != 0)
            {
                ret = true;
            }

            return(ret);
        }
 private void populateGridSaleOrderItems()
 {
     clearGridInventoryItems();
     if (gridSaleOrders.SelectedRows.Count == 0)
     {
         gridSaleOrderItems.DataSource = null;
     }
     else
     {
         gridSaleOrderItems.DataSource = SaleOrderItem.get(selectedSaleOrdersRowID(), null, _Customers_Id, false);
         lblSaleOrderInfo.Text         = string.Format("Customer PO #{0}  Order Date: {1: dd/MMM/yy}  Target: {2: dd/MMM/yy}",
                                                       Util.getSelectedRowValue(gridSaleOrders, col_gridSaleOrders_CustomerPONo),
                                                       Util.getSelectedRowValue(gridSaleOrders, col_gridSaleOrders_Timestamp),
                                                       Util.getSelectedRowValue(gridSaleOrders, col_gridSaleOrders_TargetDate));
     }
 }
Beispiel #14
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="p_BE">要删除的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         SaleOrderItem    entity  = (SaleOrderItem)p_BE;
         SaleOrderItemCtl control = new SaleOrderItemCtl(sqlTrans);
         control.Delete(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Beispiel #15
0
 /// <summary>
 /// 新增(传入事务处理)
 /// </summary>
 /// <param name="p_BE">要新增的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         SaleOrderItem    entity  = (SaleOrderItem)p_BE;
         SaleOrderItemCtl control = new SaleOrderItemCtl(sqlTrans);
         entity.ID = (int)EntityIDTable.GetID((long)SysEntity.Sale_SaleOrderItem, sqlTrans);
         control.AddNew(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Beispiel #16
0
        public void SaveSaleOrder()
        {
            using (var session = NHibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var  rackid = GetRackId();
                    Rack rack2  = session.Get <Rack>(rackid);
                    var  itemid = GetItemId();
                    Item item2  = session.Get <Item>(itemid);



                    SaleOrder so1 = new SaleOrder
                    {
                        Code         = 1,
                        CreationDate = DateTime.Now,
                        Title        = "furush"
                    };
                    SaleOrderItem soi1 = new SaleOrderItem
                    {
                        Item       = item2,
                        Rack       = rack2,
                        NetPrice   = 50,
                        Quantity   = 25,
                        TotalPrice = 150,
                        UnitPrice  = 30
                    };

                    so1.SaleOrderItems.Add(soi1);

                    session.Save(so1);


                    transaction.Commit();


                    Assert.IsNotNull(session.Get <SaleOrderItem>(soi1.Id));
                }
            }
        }
Beispiel #17
0
        public int InsertSaleOrderItem(SaleOrderItem objSaleOrderItem, IDbConnection connection, IDbTransaction trn)
        {
            try
            {
                string sql = @"insert  into SaleOrderItem(SaleOrderId,SlNo,WorkDescriptionId,VehicleModelId,Remarks,PartNo,Quantity,UnitId,Rate,Discount,Amount) 
                                                    Values (@SaleOrderId,@SlNo,@WorkDescriptionId,@VehicleModelId,@Remarks,@PartNo,1,@UnitId,@Rate,@Discount,@Amount);
                       
                SELECT CAST(SCOPE_IDENTITY() as int)";

                var id = 0;
                //for (int i = 0; i < objSaleOrderItem.Quantity; i++)
                //{
                id = connection.Query <int>(sql, objSaleOrderItem, trn).Single();
                //}
                return(id);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #18
0
        public Guid GetSaleOrderItem()
        {
            using (var Session = NhibernateLayer.OpenSession())
            {
                using (var Transaction = Session.BeginTransaction())
                {
                    ItemUnitTest itemTest = new ItemUnitTest();
                    RackUnitTest rackTest = new RackUnitTest();

                    var ItemId = itemTest.GetItem();
                    var RackId = rackTest.GetRack();

                    Item Item = Session.Get <Item>(ItemId);
                    Rack Rack = Session.Get <Rack>(RackId);


                    SaleOrderItem SaleOrderItem1 = new SaleOrderItem()
                    {
                        Name       = "khodkar",
                        QTY        = 10,
                        NetPrice   = 800,
                        TotalPrice = 10 * 800,
                        UnitPrice  = 800,
                        Item1      = Item,
                        Rack1      = Rack
                    };

                    Session.Save(SaleOrderItem1);

                    Transaction.Commit();
                    var Res = Session.Get <Market.Entities.ShouldMap.SaleOrderItem>(SaleOrderItem1.Id);

                    return(Res.Id);
                }
            }
        }
        public void SaleOrder()
        {
            using (ISession session = NhibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var  ItemId = GetItemId();
                    Item item   = session.Get <Item>(ItemId);

                    var  RackId = GetRackId();
                    Rack rack   = session.Get <Rack>(RackId);

                    SaleOrder saleOrder = new SaleOrder
                    {
                        CreationDate = DateTime.Now,
                        Title        = "Forush"
                    };

                    SaleOrderItem saleOrderItem = new SaleOrderItem
                    {
                        Item       = item,
                        Rack       = rack,
                        NetPrice   = 50,
                        Quantity   = 90,
                        TotalPrice = 36,
                        UnitPrice  = 60
                    };

                    saleOrder.SaleOrderItems.Add(saleOrderItem);
                    session.Save(saleOrder);
                    transaction.Commit();

                    Assert.IsNotNull(session.Get <SaleOrderItem>(saleOrderItem.Id));
                }
            }
        }
Beispiel #20
0
        public void Insert(SaleOrderItem item, Guid UpdatedId)
        {
            var inventory = dbStock.ExistsProduct(item.Product_Id, item.SaleOrder.Id, item.Unit);

            Check.IsEquals(inventory, false, "No existe inventario disponible para este producto");
            var Query             = dbProduct.GetProductByTaxeWhere(item.Product_Id).ToList();
            List <TaxeOrder> taxe = new List <TaxeOrder>();

            if (Query != null)
            {
                taxe = Query
                       .Select(t => new TaxeOrder
                {
                    Id            = Guid.NewGuid(),
                    Code          = t.Code,
                    Name          = t.Name,
                    Parent        = t.Parent,
                    SaleOrderItem = item,
                    ServiceType   = t.ServiceType,
                    State         = ObjectState.Added,
                    Status        = true,
                    Type          = t.Type,
                    UpdatedId     = UpdatedId,
                    Creation      = DateTime.UtcNow,
                    Value         = t.Value,
                    PriceTax      = CalculateTax(item.Unit, item.PriceSalebyUnit, t.Value, t.Type)
                })
                       .ToList();
            }
            item.TaxeOrder = taxe;
            item.UpdatedId = UpdatedId;
            item.State     = ObjectState.Added;
            var id = db.Save(item);

            ChangePriceTotal(item);
        }
Beispiel #21
0
        public void TestSaleOrder()
        {
            using (var session = NHibernateHelper.OpenSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    var           IDSaleOrderItem = SaleOrderItemId();
                    SaleOrderItem saleorderitem   = session.Get <SaleOrderItem>(IDSaleOrderItem);

                    var saleOrder = new SaleOrder
                    {
                        Code         = "30",
                        CreationDate = DateTime.Now,
                        Title        = "450"
                    };

                    saleOrder.saleOrderItems.Add(saleorderitem);
                    session.Save(saleOrder);
                    transaction.Commit();
                    var result4 = session.Get <SaleOrder>(saleOrder.Id);
                    Assert.IsNotNull(result4);
                }
            }
        }
Beispiel #22
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int AddNew(BaseEntity p_Entity)
        {
            try
            {
                SaleOrderItem MasterEntity = (SaleOrderItem)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //新增主表数据
                StringBuilder MasterField = new StringBuilder();
                StringBuilder MasterValue = new StringBuilder();
                MasterField.Append("INSERT INTO Sale_SaleOrderItem(");
                MasterValue.Append(" VALUES(");
                MasterField.Append("ID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ",");
                MasterField.Append("MainID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.MainID) + ",");
                MasterField.Append("Seq" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Seq) + ",");
                MasterField.Append("ItemCode" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ItemCode) + ",");
                MasterField.Append("ItemName" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ItemName) + ",");
                MasterField.Append("ItemStd" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ItemStd) + ",");
                MasterField.Append("Qty" + ",");
                if (MasterEntity.Qty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.Qty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("Unit" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Unit) + ",");
                MasterField.Append("Remark" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Remark) + ",");
                MasterField.Append("VendorID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.VendorID) + ",");
                MasterField.Append("ColorNum" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ColorNum) + ",");
                MasterField.Append("ColorName" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ColorName) + ",");
                MasterField.Append("SO" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.SO) + ",");
                MasterField.Append("RQty" + ",");
                if (MasterEntity.RQty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.RQty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("ItemModel" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ItemModel) + ",");
                MasterField.Append("DID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DID) + ",");
                MasterField.Append("SH" + ",");
                if (MasterEntity.SH != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.SH) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("SQty" + ",");
                if (MasterEntity.SQty != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.SQty) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("Per" + ",");
                if (MasterEntity.Per != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.Per) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("SH2" + ",");
                if (MasterEntity.SH2 != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.SH2) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("BuyType" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.BuyType) + ",");
                MasterField.Append("SH3" + ",");
                if (MasterEntity.SH3 != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.SH3) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("BL" + ")");
                if (MasterEntity.BL != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.BL) + ")");
                }
                else
                {
                    MasterValue.Append("null)");
                }



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBInsert), E);
            }
        }
Beispiel #23
0
 /// <summary>
 /// 新增行
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int InsertItem(SaleOrderItem model)
 {
     return(iSaleOrderItemDAL.InsertItem(model));
 }
 public void changeStatus_Click(object sender, EventArgs args)
 {
     SaleOrderItem.updateStatus(selectedSaleOrderItemsRowId(), Tools.parseEnum <SaleOrderItemStatus>(sender.ToString()));
     populateGridSaleOrderItems();
 }
Beispiel #25
0
 /// <summary>
 /// 检查将要操作的数据是否符合业务规则
 /// </summary>
 /// <param name="p_BE"></param>
 private void CheckCorrect(BaseEntity p_BE)
 {
     SaleOrderItem entity = (SaleOrderItem)p_BE;
 }
        public void CreateAndUpdatePurchaseOrder(SaleOrderContract saleOrderContract)
        {
            var saleOrder = SaleOrderRepository.Get(saleOrderContract.Id);

            if (saleOrder != null)
            {
                // Update Order
                saleOrder.Title = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemContracts[i];
                    if (saleOrder.SaleOrderItems.Any(x => x.Id == temp.Id))
                    {
                        // Update OrdetItem ..
                        var InDatabaseOrderItem = saleOrder.SaleOrderItems.FirstOrDefault(x => x.Id == temp.Id);
                        InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                        InDatabaseOrderItem.Quantity   = temp.Quantity;
                        InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                        InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                        InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                        InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);
                    }
                    else
                    {
                        // Create OrderItem
                        var InDatabaseOrderItem = new SaleOrderItem();

                        InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                        InDatabaseOrderItem.Quantity   = temp.Quantity;
                        InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                        InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                        InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                        InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);

                        saleOrder.SaleOrderItems.Add(InDatabaseOrderItem);
                    }
                }

                //Delete extra orderItems in order(DB)
                for (int i = 0; i < saleOrder.SaleOrderItems.Count; i++)
                {
                    var temp = saleOrder.SaleOrderItems[i];
                    if (!saleOrderContract.SaleOrderItemContracts.Any(x => x.Id == temp.Id))
                    {
                        saleOrder.SaleOrderItems.Remove(temp);
                    }
                }

                SaleOrderRepository.Update(saleOrder);
            }
            else
            {
                // Create Order
                saleOrder              = new SaleOrder();
                saleOrder.Code         = saleOrderContract.Code;
                saleOrder.CreationDate = saleOrderContract.CreationDate;
                saleOrder.Title        = saleOrderContract.Title;

                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemContracts[i];

                    var InDatabaseOrderItem = new SaleOrderItem();

                    InDatabaseOrderItem.NetPrice   = temp.NetPrice;
                    InDatabaseOrderItem.Quantity   = temp.Quantity;
                    InDatabaseOrderItem.UnitPrice  = temp.UnitPrice;
                    InDatabaseOrderItem.TotalPrice = temp.TotalPrice;
                    InDatabaseOrderItem.Item       = IitemRepository.Get(temp.ItemId);
                    InDatabaseOrderItem.Rack       = IRackRepository.Get(temp.RackId);

                    saleOrder.SaleOrderItems.Add(InDatabaseOrderItem);
                }

                SaleOrderRepository.Insert(saleOrder);
            }
        }
        public void CreateAndUpdateSaleOrder(SaleOrderContract saleOrderContract)
        {
            var saleorder = ISaleOrderRepository.Get(saleOrderContract.Id);

            if (saleorder != null)
            {
                saleorder.Code = saleOrderContract.Code;
                //saleorder.CreationDate = saleOrderContract.CreationDate; lazem nist moghe sakht object bevojode amede mesl Id
                saleorder.Title = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var Temp = saleOrderContract.SaleOrderItemContracts[i];
                    if (saleorder.saleOrderItems.Any(s => s.Id == Temp.Id))
                    {
                        var Insaleorderitem = saleorder.saleOrderItems.FirstOrDefault(s => s.Id == Temp.Id);
                        Insaleorderitem.NetPrice   = Temp.NetPrice;
                        Insaleorderitem.Quantity   = Temp.Quantity;
                        Insaleorderitem.TotalPrice = Temp.TotalPrice;
                        Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                        Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                        Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);
                    }
                    else
                    {
                        Insaleorderitem            = new SaleOrderItem();
                        Insaleorderitem.NetPrice   = Temp.NetPrice;
                        Insaleorderitem.Quantity   = Temp.Quantity;
                        Insaleorderitem.TotalPrice = Temp.TotalPrice;
                        Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                        Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                        Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);


                        saleorder.saleOrderItems.Add(Insaleorderitem);
                    }
                }
                //var DeleteOrderItem = saleorder.saleOrderItems.Where(x =>
                //    !saleOrderContract.SaleOrderItemContracts.Any(y => y.Id == x.Id));
                for (int i = 0; i < saleorder.saleOrderItems.Count; i++)
                {
                    var Temp = saleorder.saleOrderItems.ToArray()[i];
                    if (!saleOrderContract.SaleOrderItemContracts.Any(s => s.Id == Temp.Id))
                    {
                        saleorder.saleOrderItems.Remove(Temp);
                        //var temp = ISaleOrderRepository.Get(Temp.Id);
                        //ISaleOrderRepository.Delete(temp);
                    }
                }

                ISaleOrderRepository.Update(saleorder);
            }
            else
            {
                saleorder              = new SaleOrder();
                saleorder.Code         = saleOrderContract.Code;
                saleorder.CreationDate = saleOrderContract.CreationDate;
                saleorder.Title        = saleOrderContract.Title;
                for (int i = 0; i < saleOrderContract.SaleOrderItemContracts.Count; i++)
                {
                    var Temp = saleOrderContract.SaleOrderItemContracts[i];
                    Insaleorderitem            = new SaleOrderItem();
                    Insaleorderitem.NetPrice   = Temp.NetPrice;
                    Insaleorderitem.Quantity   = Temp.Quantity;
                    Insaleorderitem.TotalPrice = Temp.TotalPrice;
                    Insaleorderitem.UnitPrice  = Temp.UnitPrice;
                    Insaleorderitem.Rack       = IRackRepository.Get(Temp.RackId);
                    Insaleorderitem.Item       = IItemRepository.Get(Temp.ItemId);


                    saleorder.saleOrderItems.Add(Insaleorderitem);
                }



                ISaleOrderRepository.Insert(saleorder);
            }
        }
        //esmet ke doros nist
        public void CreateAndDelete(SaleOrderContract saleOrderContract)
        {
            var SaleOrder = ISaleOrderRepository.Get(saleOrderContract.Id);

            if (SaleOrder != null)
            {
                SaleOrder.CreationDate = DateTime.Now;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleorderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleorderItems[i];
                    if (SaleOrder.SaleorderItems.Any(p => p.Id == temp.Id))
                    {
                        var Sorderitem = SaleOrder.SaleorderItems.FirstOrDefault(p => p.Id == temp.Id);

                        Sorderitem.QTY        = temp.QTY;
                        Sorderitem.Name       = temp.Name;
                        Sorderitem.NetPrice   = temp.NetPrice;
                        Sorderitem.TotalPrice = temp.TotalPrice;
                        Sorderitem.UnitPrice  = temp.UnitPrice;
                        Sorderitem.Item1      = iitemRepository.Get(temp.ItemId);
                        Sorderitem.Rack1      = iRackRepository.Get(temp.RackId);
                    }


                    else
                    {
                        var res = new SaleOrderItem();
                        res.QTY        = temp.QTY;
                        res.Name       = temp.Name;
                        res.NetPrice   = temp.NetPrice;
                        res.TotalPrice = temp.TotalPrice;
                        res.UnitPrice  = temp.UnitPrice;
                        res.Item1      = iitemRepository.Get(temp.ItemId);
                        res.Rack1      = iRackRepository.Get(temp.RackId);

                        SaleOrder.SaleorderItems.Add(res);
                    }
                }

                foreach (var item in SaleOrder.SaleorderItems)
                {
                    if (SaleOrder.SaleorderItems.Any(s => s.Id != item.Id))
                    {
                        SaleOrder.SaleorderItems.Remove(item);
                    }
                }
                ISaleOrderRepository.Update(SaleOrder);
            }
            else
            {
                SaleOrder.CreationDate = saleOrderContract.CreationDate;
                SaleOrder.Title        = saleOrderContract.Title;
                SaleOrder.Code         = saleOrderContract.Code;

                for (int i = 0; i < saleOrderContract.SaleorderItems.Count; i++)
                {
                    var temp = saleOrderContract.SaleorderItems[i];
                    if (SaleOrder.SaleorderItems.Any(p => p.Id == temp.Id))
                    {
                        var sorderitem = SaleOrder.SaleorderItems.FirstOrDefault(p => p.Id == temp.Id);

                        sorderitem.QTY        = temp.QTY;
                        sorderitem.Name       = temp.Name;
                        sorderitem.NetPrice   = temp.NetPrice;
                        sorderitem.TotalPrice = temp.TotalPrice;
                        sorderitem.UnitPrice  = temp.UnitPrice;
                        sorderitem.Item1      = iitemRepository.Get(temp.ItemId);
                        sorderitem.Rack1      = iRackRepository.Get(temp.RackId);
                    }
                }

                ISaleOrderRepository.Insert(SaleOrder);
            }
        }
Beispiel #29
0
        public void SaveCreateOrUpdate(SaleOrderContract saleOrderContract)
        {
            var saleOrderDb = ISaleOrderrepository.Get(saleOrderContract.Id);

            if (saleOrderDb != null)
            {
                for (int i = 0; i < saleOrderContract.SaleOrderItemscontract.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemscontract[i];

                    if (saleOrderDb.SaleOrderItem.Any(x => x.Id == temp.Id))
                    {
                        var indatabaseorderitem = saleOrderDb.SaleOrderItem.FirstOrDefault(x => x.Id == temp.Id);
                        indatabaseorderitem.Item       = ItemRepository.Get(temp.ItemId);
                        indatabaseorderitem.Rack       = IRackRepository.Get(temp.RackId);
                        indatabaseorderitem.NetPrice   = temp.NetPrice;
                        indatabaseorderitem.Quantity   = temp.Quantity;
                        indatabaseorderitem.TotalPrice = temp.TotalPrice;
                        indatabaseorderitem.UnitPrice  = temp.UnitPrice;
                    }
                    else
                    {
                        SaleOrderItem saleOrderItem = new SaleOrderItem();
                        saleOrderItem.Item       = ItemRepository.Get(temp.ItemId);
                        saleOrderItem.Rack       = IRackRepository.Get(temp.RackId);
                        saleOrderItem.Quantity   = temp.Quantity;
                        saleOrderItem.NetPrice   = temp.NetPrice;
                        saleOrderItem.TotalPrice = temp.TotalPrice;
                        saleOrderItem.UnitPrice  = temp.UnitPrice;
                        saleOrderDb.SaleOrderItem.Add(saleOrderItem);
                    }
                }

                for (int i = 0; i < saleOrderDb.SaleOrderItem.Count; i++)
                {
                    var temp = saleOrderDb.SaleOrderItem[i];
                    if (saleOrderContract.SaleOrderItemscontract.All(x => x.Id != temp.Id))
                    {
                        saleOrderDb.SaleOrderItem.Remove(temp);
                    }
                }
                ISaleOrderrepository.Update(saleOrderDb);
            }
            else
            {
                saleOrderDb              = new SaleOrder();
                saleOrderDb.Code         = saleOrderContract.Code;
                saleOrderDb.CreationDate = saleOrderContract.CreationDate;
                saleOrderDb.Title        = saleOrderContract.Title;
                SaleOrderItem saleOrderItem = new SaleOrderItem();
                for (int i = 0; i < saleOrderContract.SaleOrderItemscontract.Count; i++)
                {
                    var temp = saleOrderContract.SaleOrderItemscontract[i];

                    saleOrderItem.Item       = ItemRepository.Get(temp.ItemId);
                    saleOrderItem.Rack       = IRackRepository.Get(temp.RackId);
                    saleOrderItem.Quantity   = temp.Quantity;
                    saleOrderItem.NetPrice   = temp.NetPrice;
                    saleOrderItem.TotalPrice = temp.TotalPrice;
                    saleOrderItem.UnitPrice  = temp.UnitPrice;
                    saleOrderDb.SaleOrderItem.Add(saleOrderItem);
                }
                ISaleOrderrepository.Insert(saleOrderDb);
            }
        }
Beispiel #30
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Update(BaseEntity p_Entity)
        {
            try
            {
                SaleOrderItem MasterEntity = (SaleOrderItem)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //更新主表数据
                StringBuilder UpdateBuilder = new StringBuilder();
                UpdateBuilder.Append("UPDATE Sale_SaleOrderItem SET ");
                UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ",");
                UpdateBuilder.Append(" MainID=" + SysString.ToDBString(MasterEntity.MainID) + ",");
                UpdateBuilder.Append(" Seq=" + SysString.ToDBString(MasterEntity.Seq) + ",");
                UpdateBuilder.Append(" ItemCode=" + SysString.ToDBString(MasterEntity.ItemCode) + ",");
                UpdateBuilder.Append(" ItemName=" + SysString.ToDBString(MasterEntity.ItemName) + ",");
                UpdateBuilder.Append(" ItemStd=" + SysString.ToDBString(MasterEntity.ItemStd) + ",");

                if (MasterEntity.Qty != 0)
                {
                    UpdateBuilder.Append(" Qty=" + SysString.ToDBString(MasterEntity.Qty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" Qty=null,");
                }

                UpdateBuilder.Append(" Unit=" + SysString.ToDBString(MasterEntity.Unit) + ",");
                UpdateBuilder.Append(" Remark=" + SysString.ToDBString(MasterEntity.Remark) + ",");
                UpdateBuilder.Append(" VendorID=" + SysString.ToDBString(MasterEntity.VendorID) + ",");
                UpdateBuilder.Append(" ColorNum=" + SysString.ToDBString(MasterEntity.ColorNum) + ",");
                UpdateBuilder.Append(" ColorName=" + SysString.ToDBString(MasterEntity.ColorName) + ",");
                UpdateBuilder.Append(" SO=" + SysString.ToDBString(MasterEntity.SO) + ",");

                if (MasterEntity.RQty != 0)
                {
                    UpdateBuilder.Append(" RQty=" + SysString.ToDBString(MasterEntity.RQty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" RQty=null,");
                }

                UpdateBuilder.Append(" ItemModel=" + SysString.ToDBString(MasterEntity.ItemModel) + ",");
                UpdateBuilder.Append(" DID=" + SysString.ToDBString(MasterEntity.DID) + ",");

                if (MasterEntity.SH != 0)
                {
                    UpdateBuilder.Append(" SH=" + SysString.ToDBString(MasterEntity.SH) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" SH=null,");
                }


                if (MasterEntity.SQty != 0)
                {
                    UpdateBuilder.Append(" SQty=" + SysString.ToDBString(MasterEntity.SQty) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" SQty=null,");
                }


                if (MasterEntity.Per != 0)
                {
                    UpdateBuilder.Append(" Per=" + SysString.ToDBString(MasterEntity.Per) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" Per=null,");
                }


                if (MasterEntity.SH2 != 0)
                {
                    UpdateBuilder.Append(" SH2=" + SysString.ToDBString(MasterEntity.SH2) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" SH2=null,");
                }

                UpdateBuilder.Append(" BuyType=" + SysString.ToDBString(MasterEntity.BuyType) + ",");

                if (MasterEntity.SH3 != 0)
                {
                    UpdateBuilder.Append(" SH3=" + SysString.ToDBString(MasterEntity.SH3) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" SH3=null,");
                }


                if (MasterEntity.BL != 0)
                {
                    UpdateBuilder.Append(" BL=" + SysString.ToDBString(MasterEntity.BL));
                }
                else
                {
                    UpdateBuilder.Append(" BL=null");
                }


                UpdateBuilder.Append(" WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID));



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBUpdate), E);
            }
        }