/// <summary>
        /// 新增数据的判断

        /// </summary>
        /// <param name="dr"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        private bool CheckInsertData(DataRow dr, DbTransaction tran, out string strInvalid)
        {
            bool flag = true;

            strInvalid = "";
            switch (dr.Table.TableName.ToUpper())
            {
            case "HC_ORD_PURCHASE":         //订单明细状态表
                flag = PurchaseCheck.GetInstance().CheckPurchaseForInsert(dr, out strInvalid);
                break;

            case "HC_ORD_PURCHASE_ITEM":     //产品匹配表


                flag = PurchaseCheck.GetInstance().CheckPurchaseItemForInsert(dr, out strInvalid);
                break;

            case "HC_ORD_ORDER":     //订单表


                flag = OrderCheck.GetInstance().CheckOrderForInsert(dr, out strInvalid);
                break;

            case "HC_ORD_ORDER_ITEM":          //订单明细表


                flag = OrderCheck.GetInstance().CheckOrderItemForInsert(dr, out strInvalid);
                break;

            default:
                break;
            }
            return(flag);
        }
Example #2
0
 public OrderCheckTO(OrderCheck mdo)
 {
     if (mdo != null)
     {
         this.id           = mdo.Id;
         this.name         = mdo.Name;
         this.abbreviation = mdo.Abbreviation;
         this.level        = mdo.Level;
     }
 }
Example #3
0
    public static void SaveTotalCoffees(OrderCheck orderData)
    {
        BinaryFormatter formatter = new BinaryFormatter();
        string          filePath  = Application.persistentDataPath + "/coffeecorrectness.bruh";
        FileStream      stream    = new FileStream(filePath, FileMode.Create);

        CoffeeData data = new CoffeeData(orderData);

        formatter.Serialize(stream, data);
        stream.Close();
    }
Example #4
0
 private void Validate(OrderCheck entity)
 {
     if (!BLL.MarerialInfoTableManager.IsExit(entity.MaterialNumber))
     {
         throw new Exception("系统不存在该原材料编号:" + entity.MaterialNumber);
     }
     entity.TakeUserId = BLL.PM_UserManager.Instance.GetUserIdByUserName(entity.TakeUserName);
     if (string.IsNullOrEmpty(entity.TakeUserId))
     {
         throw new Exception(string.Format("系统不存在该用户:{0}", entity.TakeUserName));
     }
 }
Example #5
0
 /// <summary>
 /// 映射
 /// </summary>
 /// <param name="reader"></param>
 /// <param name="entity"></param>
 private void BuildOrderCheck(IDataReader reader, OrderCheck entity)
 {
     entity.Id = reader.GetValue <Guid>("Id");
     entity.WarehouseNumber = reader.GetValue <string>("WarehouseNumber");
     entity.MaterialNumber  = reader.GetValue <string>("MaterialNumber");
     entity.TakeQty         = reader.GetValue <double>("TakeQty");
     entity.TakeDateTime    = reader.GetValue <DateTime>("TakeDateTime");
     entity.Status          = (OrderCheckStatus)reader.GetValue <int>("Status");
     entity.TakeUserId      = reader.GetValue <string>("TakeUserId");
     entity.Remark          = reader.GetValue <string>("Remark");
     entity.CreateTime      = reader.GetValue <DateTime>("CreateTime");
     entity.OrderType       = (CheckOrderType)reader.GetValue <int>("OrderType");
     entity.TakeUserName    = reader.GetValue <string>("USER_NAME");
 }
Example #6
0
        public void Create(OrderCheck entity)
        {
            this.Validate(entity);
            OrderCheck check = new OrderCheck();

            check.WarehouseNumber = entity.WarehouseNumber;
            check.MaterialNumber  = entity.MaterialNumber;
            IList <OrderCheck> list = this.GetList(check);

            if ((list != null) && (list.Count > 0))
            {
                throw new Exception(string.Format("当前出入库单已抽检原材料:{0},请勿重复抽检。", entity.MaterialNumber));
            }
            OrderCheckDAL.Instance.Create(entity);
        }
Example #7
0
        /// <summary>
        /// 加载条件
        /// </summary>
        /// <param name="entity">查询实体</param>
        /// <param name="sql">SQL命令</param>
        /// <param name="parameters">参数</param>
        private void LoadCondition(OrderCheck entity, StringBuilder sql, ref Dictionary <string, object> parameters)
        {
            if (entity == null)
            {
                return;
            }

            sql.AppendFormat(" WHERE 1=1 ");

            if (entity.Id != Guid.Empty)
            {
                sql.AppendFormat(" AND [Id]=@Id ");
                parameters.Add("@Id", entity.Id);
            }
            if (!string.IsNullOrEmpty(entity.WarehouseNumber))
            {
                sql.AppendFormat(" AND [WarehouseNumber]=@WarehouseNumber ");
                parameters.Add("@WarehouseNumber", entity.WarehouseNumber);
            }
            if (!string.IsNullOrEmpty(entity.MaterialNumber))
            {
                sql.AppendFormat(" AND [MaterialNumber]=@MaterialNumber ");
                parameters.Add("@MaterialNumber", entity.MaterialNumber);
            }


            if (entity.Status > 0)
            {
                sql.AppendFormat(" AND [Status]=@Status ");
                parameters.Add("@Status", entity.Status);
            }
            if (!string.IsNullOrEmpty(entity.TakeUserId))
            {
                sql.AppendFormat(" AND [TakeUserId]=@TakeUserId ");
                parameters.Add("@TakeUserId", entity.TakeUserId);
            }
            if (!string.IsNullOrEmpty(entity.Remark))
            {
                sql.AppendFormat(" AND [Remark]=@Remark ");
                parameters.Add("@Remark", entity.Remark);
            }

            if (entity.OrderType > 0)
            {
                sql.AppendFormat(" AND [OrderType]=@OrderType ");
                parameters.Add("@OrderType", entity.OrderType);
            }
        }
Example #8
0
        /// <summary>
        ///  创建
        /// </summary>
        /// <param name="entity"></param>
        public void Create(OrderCheck entity)
        {
            string sql = @"
				        INSERT INTO [dbo].[OrderCheck]
				            (
			                    [Id],
	                            [WarehouseNumber],
	                            [MaterialNumber],
	                            [TakeQty],
	                            [TakeDateTime],
	                            [Status],
	                            [TakeUserId],
	                            [Remark],
	                            [CreateTime],
	                            [OrderType]
	                        )
				        VALUES
				           (
					            @Id,
	                            @WarehouseNumber,
	                            @MaterialNumber,
	                            @TakeQty,
	                            @TakeDateTime,
	                            @Status,
	                            @TakeUserId,
	                            @Remark,
	                            @CreateTime,
	                            @OrderType
	                        )
                    "            ;
            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { "@Id", entity.Id },
                { "@WarehouseNumber", entity.WarehouseNumber },
                { "@MaterialNumber", entity.MaterialNumber },
                { "@TakeQty", entity.TakeQty },
                { "@TakeDateTime", entity.TakeDateTime },
                { "@Status", entity.Status },
                { "@TakeUserId", entity.TakeUserId },
                { "@Remark", entity.Remark },
                { "@CreateTime", entity.CreateTime },
                { "@OrderType", entity.OrderType }
            };

            db.ExecuteNoneQuery(sql, parameters);
        }
Example #9
0
        /// <summary>
        /// 分页获取列表
        /// </summary>
        /// <param name="entity">查询实体</param>
        /// <param name="pageIndex">当前页码</param>
        /// <param name="pageSize">一页显示条数</param>
        /// <param name="order">排序</param>
        /// <returns></returns>
        public IList <OrderCheck> GetList(OrderCheck entity, int pageIndex, int pageSize, string order = Const.Order)
        {
            StringBuilder sql = new StringBuilder(@" 
SELECT *
FROM
  ( SELECT  A.*,
                 B.USER_NAME
   FROM [dbo].[OrderCheck] A
   LEFT JOIN [dbo].[PM_USER] B ON A.TakeUserId=B.USER_ID) T ");
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            LoadCondition(entity, sql, ref parameters);

            return(db.GetList <OrderCheck>(
                       delegate(IDataReader reader, OrderCheck dataModel)
            {
                BuildOrderCheck(reader, dataModel);
            },
                       sql.ToString(), parameters, pageIndex, pageSize, order));
        }
Example #10
0
        protected void Save()
        {
            string     str2;
            string     requestString = ToolManager.GetRequestString("Id");
            OrderCheck entity        = new OrderCheck
            {
                MaterialNumber = ToolManager.GetRequestString("MaterialNumber"),
                TakeQty        = ToolManager.GetRequestDouble("TakeQty"),
                TakeDateTime   = ToolManager.GetRequestDateTime("TakeDateTime"),
                Status         = (OrderCheckStatus)ToolManager.GetRequestInt("Status"),
                TakeUserName   = ToolManager.GetRequestString("TakeUserName"),
                Remark         = ToolManager.GetRequestString("Remark")
            };

            try
            {
                if (!string.IsNullOrEmpty(requestString))
                {
                    entity.Id = new Guid(requestString);
                    OrderCheckBLL.Instance.Update(entity);
                }
                else
                {
                    entity.Id = Guid.NewGuid();
                    entity.WarehouseNumber = ToolManager.GetRequestString("WarehouseNumber");
                    entity.OrderType       = CheckOrderType.采购入库;
                    entity.CreateTime      = DateTime.Now;
                    OrderCheckBLL.Instance.Create(entity);
                }
                str2 = JsonConvert.SerializeObject(new { Status = true, Msg = string.Empty });
                base.Response.Write(str2);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            catch (Exception exception)
            {
                str2 = JsonConvert.SerializeObject(new { Status = false, Msg = exception.Message });
                base.Response.Write(str2);
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
Example #11
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public IList <OrderCheck> GetList(OrderCheck entity)
        {
            StringBuilder sql = new StringBuilder(@" 
SELECT *
FROM
  ( SELECT  A.*,
                 B.USER_NAME
   FROM [dbo].[OrderCheck] A
   LEFT JOIN [dbo].[PM_USER] B ON A.TakeUserId=B.USER_ID) T ");
            Dictionary <string, object> parameters = new Dictionary <string, object>();

            LoadCondition(entity, sql, ref parameters);

            sql.Append(" ORDER BY CREATETIME DESC ");

            return(db.GetList <OrderCheck>(
                       delegate(IDataReader reader, OrderCheck dataModel)
            {
                BuildOrderCheck(reader, dataModel);
            },
                       sql.ToString(), parameters));
        }
Example #12
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="entity"></param>
        public void Update(OrderCheck entity)
        {
            string sql = @"
                    UPDATE [dbo].[OrderCheck]
                       SET    
	                            [TakeQty] = @TakeQty,
	                            [TakeDateTime] = @TakeDateTime,
	                            [Status] = @Status,
	                            [TakeUserId] = @TakeUserId,
	                            [Remark] = @Remark 
	                    WHERE [Id]=@Id
                        ";
            Dictionary <string, object> parameters = new Dictionary <string, object>()
            {
                { "@Id", entity.Id },
                { "@TakeQty", entity.TakeQty },
                { "@TakeDateTime", entity.TakeDateTime },
                { "@Status", entity.Status },
                { "@TakeUserId", entity.TakeUserId },
                { "@Remark", entity.Remark }
            };

            db.ExecuteNoneQuery(sql, parameters);
        }
Example #13
0
 public void Update(OrderCheck entity)
 {
     this.Validate(entity);
     OrderCheckDAL.Instance.Update(entity);
 }
Example #14
0
 public IList <OrderCheck> GetList(OrderCheck entity, int pageIndex, int pageSize, string order = " CreateTime desc ")
 {
     return(OrderCheckDAL.Instance.GetList(entity, pageIndex, pageSize, order));
 }
Example #15
0
 public IList <OrderCheck> GetList(OrderCheck entity)
 {
     return(OrderCheckDAL.Instance.GetList(entity));
 }
Example #16
0
        private List <ContactToRemindWithItems> GetReocurringContacts()
        {
            // General VAR definitions
            List <ContactToRemindWithItems> _ContactsToRemind = new List <ContactToRemindWithItems>();
            TrackerTools _TrackerTools = new classes.TrackerTools(); // . from TrackerDotNet.classes.
            DateTime     _dtTemp       = DateTime.MinValue;
            DateTime     _dtNextRoast  = DateTime.MinValue;

            // get the syustem minimum date for if we are closed
            SysDataTbl _SysData = new SysDataTbl();
            DateTime   _MinDate = _SysData.GetMinReminderDate();

            // 1.
            // make sure the dates in the Reoccuring table match the last delivery date
            ReoccuringOrderDAL _ReoccuringOrderDAL = new ReoccuringOrderDAL();

            // Need to add this to the classs
            if (!_ReoccuringOrderDAL.SetReoccuringItemsLastDate())
            {
                showMessageBox _smb = new showMessageBox(this.Page, "Set Reoccuring Item Last Date", "Could not set the re-occuring last date");
                return(_ContactsToRemind);
            }
            // if we get here we could set the last date  ??????????????

            /* 2. For each enabled record in the ReoccuringTbl:
             *   if the LastDatePerItem + DateAdd(ReocurranceType) < NextCityDeliveryDate
             *     then add them into the temporary reminder table, but set the value in the tempoary reminder table to remember that it is a reoccuring and an auto fulfil.
             */

            // now make sure that only records the are enbabled and need to be added from Reoccuring Are added
            List <ReoccuringOrderExtData> _ReoccuringOrders = _ReoccuringOrderDAL.GetAll(ReoccuringOrderDAL.CONST_ENABLEDONLY, "CustomersTbl.CustomerID"); // -1 is all re

            ///////////// perhaps we should return all details in the above query?
            for (int i = 0; i < _ReoccuringOrders.Count; i++)
            {
                switch (_ReoccuringOrders[i].ReoccuranceTypeID)
                {
                case ReoccuranceTypeTbl.CONST_WEEKTYPEID:
                    _ReoccuringOrders[i].NextDateRequired = _ReoccuringOrders[i].DateLastDone.AddDays(_ReoccuringOrders[i].ReoccuranceValue * 7).Date;
                    break;

                case ReoccuranceTypeTbl.CONST_DAYOFMONTHID:
                    _ReoccuringOrders[i].NextDateRequired = _ReoccuringOrders[i].DateLastDone.AddMonths(1).Date;
                    _ReoccuringOrders[i].NextDateRequired = new DateTime(_ReoccuringOrders[i].NextDateRequired.Year, _ReoccuringOrders[i].NextDateRequired.Month, _ReoccuringOrders[i].ReoccuranceValue).Date;
                    break;

                default:
                    break; // not a type we know so exit
                }
                // disable the order if this is the last time
                if ((_ReoccuringOrders[i].RequireUntilDate > TrackerTools.STATIC_TrackerMinDate) && (_ReoccuringOrders[i].NextDateRequired > _ReoccuringOrders[i].RequireUntilDate))
                {
                    _ReoccuringOrders[i].Enabled = false;
                }

                _dtNextRoast = _TrackerTools.GetNextRoastDateByCustomerID(_ReoccuringOrders[i].CustomerID, ref _dtTemp);
                // check if the the Next roast date is less than the system Minimum date
                if (_dtNextRoast < _MinDate)
                {
                    _dtNextRoast = _MinDate;
                }
                // if DateNext < NextDeliveryDate for client the add to list
                if (_ReoccuringOrders[i].NextDateRequired <= _dtNextRoast)
                {
                    // we have a winner we need to add this item but first check if there is an order for this item type.
                    OrderCheck            _orderCheck    = new OrderCheck();
                    List <OrderCheckData> _OrdersToCheck = _orderCheck.GetSimilarItemInOrders(_ReoccuringOrders[i].CustomerID, _ReoccuringOrders[i].ItemRequiredID,
                                                                                              DateTimeExtensions.GetFirstDayOfWeek(_dtNextRoast),
                                                                                              DateTimeExtensions.GetLastDayOfWeek(_dtNextRoast));
                    if (_OrdersToCheck == null)
                    {
                        // there are no orders that have the same item type

                        ItemContactRequires _ItemRequired = new ItemContactRequires();

                        _ItemRequired.CustomerID   = _ReoccuringOrders[i].CustomerID;
                        _ItemRequired.AutoFulfill  = false; // it is a reoccuring order not auto ff
                        _ItemRequired.ReoccurID    = _ReoccuringOrders[i].ReoccuringOrderID;
                        _ItemRequired.ReoccurOrder = true;  // remember it is from reoccuring
                        _ItemRequired.ItemID       = _ReoccuringOrders[i].ItemRequiredID;
                        _ItemRequired.ItemQty      = _ReoccuringOrders[i].QtyRequired;
                        _ItemRequired.ItemPackagID = _ReoccuringOrders[i].PackagingID;

                        // check if the customer exists
                        if (!_ContactsToRemind.Exists(x => x.CustomerID == _ItemRequired.CustomerID))
                        {
                            ContactToRemindWithItems _ContactToRemind = new ContactToRemindWithItems();
                            _ContactToRemind = _ContactToRemind.GetCustomerDetails(_ItemRequired.CustomerID);
                            _ContactToRemind.ItemsContactRequires.Add(_ItemRequired);
                            _ContactsToRemind.Add(_ContactToRemind);
                        }
                        else
                        {
                            int _ContactIdx = _ContactsToRemind.FindIndex(x => x.CustomerID == _ItemRequired.CustomerID);
                            _ContactsToRemind[_ContactIdx].ItemsContactRequires.Add(_ItemRequired);
                        }
                    }
                    else
                    {
                        List <OrderCheckData> _OrderCheckData = null;
                        // store that and order has identified
                        if (Session[CONST_SESSIONVAR_EXISTINGORDERS] == null)
                        {
                            _OrderCheckData = new List <OrderCheckData>();
                        }
                        else
                        {
                            _OrderCheckData = (List <OrderCheckData>)Session[CONST_SESSIONVAR_EXISTINGORDERS];
                        }

                        for (int j = 0; j < _OrdersToCheck.Count; j++)
                        {
                            _OrderCheckData.Add(_OrdersToCheck[j]);
                        }

//            this.gvReminderOfOrdersPlaced.DataSource = _OrderCheckData;
//            this.gvReminderOfOrdersPlaced.DataBind();
//            Session[CONST_SESSIONVAR_EXISTINGORDERS] = _OrderCheckData;
                    }
                } /// we found an item in reoccuring that we need to send a reminder too
            }

            return(_ContactsToRemind);
        }
Example #17
0
 public CoffeeData(OrderCheck orderData)
 {
     correctCoffees = orderData.correctCoffies;
 }