/// <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); } }
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); } }