コード例 #1
0
        /// <summary>
        /// a func to update order status
        /// </summary>
        /// <param name="orKey"></param>
        /// <param name="statO"></param>
        public void updateOrder(long orKey, statusOrder statO)
        {
            var new_ord = (from item in DS1.DataSource.OrderList
                           where item.OrderKey == orKey
                           select item).FirstOrDefault();

            if (statO != statusOrder.טרם_טופל && statO != statusOrder.נסגר_בהיענות_של_לקוח && statO != statusOrder.נסגר_מחוסר_הענות_של_הלקוח && statO != statusOrder.נשלח_מייל)
            {
                throw new System.ArgumentException("dont have a status");
            }
            new_ord.Status = statO;
            if (statO == statusOrder.נסגר_בהיענות_של_לקוח)
            {
                new_ord.OrderDate = new DateTime(2020, (DateTime.Today).Month, (DateTime.Today).Day);
            }
        }
コード例 #2
0
ファイル: BL_imp.cs プロジェクト: hodayara/proj_part2
        public void updateOrder2(Order order, statusOrder status)
        {
            if (!dal.getOrderList().Any(ord1 => (ord1.OrderKey == order.OrderKey)))
            {
                throw new System.ArgumentException("order does not exist");
            }
            if (status != statusOrder.טרם_טופל && status != statusOrder.נסגר_בהיענות_של_לקוח && status != statusOrder.נסגר_מחוסר_הענות_של_הלקוח && status != statusOrder.נשלח_מייל)
            {
                throw new System.ArgumentException("dont have a status");
            }
            if (!CanChangeStatus(order))
            {
                throw new System.ArgumentNullException("cant change status - satus is close");
            }
            if (status == statusOrder.נסגר_בהיענות_של_לקוח)
            {
                if (order.Status == statusOrder.נשלח_מייל)
                {
                    updateDiary(order);
                    changeStatusOfOtherThings(order);
                    dal.updateOrder(order.OrderKey, status);
                    return;
                }
                else
                {
                    throw new System.ArgumentNullException("cant close order without sending e-mail to the client");
                }
            }

            if (status == statusOrder.נשלח_מייל)
            {
                if (allowedSendReq(order))
                {
                    dal.updateOrder(order.OrderKey, status);
                    sendEmailAfterStatusChange(order);
                    order.OrderDate = new DateTime(2020, (DateTime.Today).Month, (DateTime.Today).Day);
                }
                else
                {
                    throw new System.ArgumentException("cant change status to 'נשלח_מיל '");
                }
            }
            else
            {
                dal.updateOrder(order.OrderKey, status);
            }
        }