Esempio n. 1
0
 public int UpdateOrderStatus(int orderId, Enums.OrderStatus orderStatus)
 {
     try
     {
         int response = -1;
         using (IDataReader reader = DAOBase.GetDataReader(Connection.BillerDBConnection, CommandType.StoredProcedure,
                                                           StoredProcedures.UpdateOrderStatus,
                                                           new SqlParameter()
         {
             ParameterName = "@pOrderId",
             Value = orderId,
             DbType = DbType.Int32
         },
                                                           new SqlParameter()
         {
             ParameterName = "@pOrderStatus",
             Value = (int)orderStatus,
             DbType = DbType.Int32
         }))
         {
             while (reader.Read())
             {
                 response = reader.TryGetValue <int>("Response");
             }
         }
         return(response);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 2
0
        public IList <Order> GetOrderList(Enums.OrderStatus orderStatus)
        {
            IList <Order> orderList = new List <Order>();

            using (IDataReader reader = DAOBase.GetDataReader(Connection.BillerDBConnection, CommandType.StoredProcedure,
                                                              StoredProcedures.GetOrderList,
                                                              new SqlParameter()
            {
                ParameterName = "@pOrderStatus",
                Value = (int)orderStatus,
                DbType = DbType.Int32
            }))
            {
                while (reader.Read())
                {
                    var order = new Order
                    {
                        OrderId      = reader.TryGetValue <int>("OrderId"),
                        Status       = reader.TryGetValue <Enums.OrderStatus>("Status"),
                        Total        = reader.TryGetValue <decimal>("Total"),
                        CustomerName = reader.TryGetValue <string>("CustomerName"),
                        PlacedOn     = reader.TryGetValue <DateTime>("PlacedOn")
                    };
                    orderList.Add(order);
                }
            }
            return(orderList);
        }
Esempio n. 3
0
        public bool UpdatingOrder(int OrderId, Enums.OrderStatus status)
        {
            //if (order.Status == Enums.OrderStatus.Closes_in_response)
            //    return;

            Order order = dal.GetOrders(c => c.OrderKey == OrderId).FirstOrDefault();

            if (order == null)
            {
                return(false);
            }
            order.Status = status;
            GuestRequest guest           = dal.GetGuestRequests(c => c.GuestRequestsKey == order.GuestRequestKey).FirstOrDefault();
            HostingUnit  relatedHostings = dal.GetHostingUnits(c => c.stSerialKey == order.HostingUnitKey).FirstOrDefault();

            if (relatedHostings == null)
            {
                return(false);
            }
            if (guest == null || guest.Status == Enums.GuestRequestStatus.Closed || guest.Status == Enums.GuestRequestStatus.ActiveAndClose || guest.Status == Enums.GuestRequestStatus.Expired)
            {
                return(false);
            }

            if (status == Enums.OrderStatus.Success)
            {
                dal.UpdatingGusetRequest(guest, Enums.GuestRequestStatus.ActiveAndClose);
            }

            dal.UpdatingOrder(order, status);

            return(true);
        }
Esempio n. 4
0
        public static BinanceNet.Objects.OrderStatus ToBinanceEquivalent(this Enums.OrderStatus input)
        {
            switch (input)
            {
            case Enums.OrderStatus.Canceled:
                return(BinanceNet.Objects.OrderStatus.Canceled);

            case Enums.OrderStatus.Expired:
                return(BinanceNet.Objects.OrderStatus.Expired);

            case Enums.OrderStatus.Filled:
                return(BinanceNet.Objects.OrderStatus.Filled);

            case Enums.OrderStatus.New:
                return(BinanceNet.Objects.OrderStatus.New);

            case Enums.OrderStatus.PartiallyFilled:
                return(BinanceNet.Objects.OrderStatus.PartiallyFilled);

            case Enums.OrderStatus.PendingCancel:
                return(BinanceNet.Objects.OrderStatus.PendingCancel);

            case Enums.OrderStatus.Rejected:
                return(BinanceNet.Objects.OrderStatus.Rejected);
            }

            throw new ArgumentException($"{input} is an unknown OrderStatus");
        }
Esempio n. 5
0
 /// <summary>
 /// This function return if Order is closed
 /// </summary>
 /// <param name="ord">The order to check is status</param>
 /// <returns>boolean, if the status is closed or not</returns>
 public bool IsClosed(Enums.OrderStatus stat)
 {
     if (stat == Enums.OrderStatus.ClosedByCustomerResponsiveness || stat == Enums.OrderStatus.ClosedByCustomerUnresponsiveness || stat == Enums.OrderStatus.ClosedByHost)
     {
         return(true);
     }
     return(false);
 }
Esempio n. 6
0
        private void BindGrid(Enums.OrderStatus orderStatus)
        {
            List <Order> orderList = BalObj.GetOrderList(orderStatus).ToList();

            dgOrderList.AutoGenerateColumns = false;
            dgOrderList.DataSource          = orderList;
            dgOrderList.CellContentClick   += dgOrderList_CellContentClick;
        }
Esempio n. 7
0
        /// <summary>
        /// This function updates an order with a key of <paramref name="key"/> to a status of <paramref name="stat"/>
        /// </summary>
        /// <exception cref="KeyNotFoundException">Thrown when an order with the specified key is not found</exception>
        /// <param name="key">Key of Order to update the status of</param>
        /// <param name="stat">Status to update Order status to</param>
        public void UpdateOrderStatus(int key, Enums.OrderStatus stat)
        {
            var list  = LoadOrderList();
            int index = list.FindIndex(s => s.OrderKey == key);

            list[index].Status = stat;

            SaveObjectList(list, orderPath);
        }
Esempio n. 8
0
 private void ChangeOrderStatus(Order order, Enums.OrderStatus newStatus)
 {
     if (order == null)
     {
         throw new ValidationException("Order does not exist", "Order");
     }
     Log(string.Format("Changing order #{0} status from {1} to {2}.",
                       order.Id, order.Status, newStatus));
     order.Status = newStatus;
 }
Esempio n. 9
0
        /// <summary>
        /// This function updates an order with a key of <paramref name="key"/> to a status of <paramref name="stat"/>
        /// </summary>
        /// <exception cref="KeyNotFoundException">Thrown when an order with the specified key is not found</exception>
        /// <param name="key">Key of Order to update the status of</param>
        /// <param name="stat">Status to update Order status to</param>
        public void UpdateOrderStatus(int key, Enums.OrderStatus stat)
        {
            int index = DataSource.ordersList.FindIndex(new Predicate <Order>(x => x.OrderKey == key));

            if (-1 == index)
            {
                throw new KeyNotFoundException("There is no order with the key specified");
            }

            DataSource.ordersList[index].Status = stat;
        }
Esempio n. 10
0
        public void UpdatingOrder(Order order, Enums.OrderStatus status)
        {
            int index = OrderList.FindIndex(c => c.OrderKey == order.OrderKey);

            if (index > -1)
            {
                OrderList[index].Status = status;

                if (status == Enums.OrderStatus.Success)
                {
                    //עדכון של שאר ההזמנות
                    var orders = OrderList.FindAll(c => c.GuestRequestKey == order.GuestRequestKey);
                    foreach (var orderi in orders)
                    {
                        orderi.Status = Enums.OrderStatus.Closed;
                    }

                    //עדכון הימים באכסניה

                    int         hostingid       = HostingUnitsList.FindIndex(c => c.stSerialKey == order.HostingUnitKey);
                    var         request         = GuestRequestList.Where(c => c.GuestRequestsKey == order.GuestRequestKey).FirstOrDefault();
                    HostingUnit relatedHostings = GetHostingUnits(c => c.stSerialKey == order.HostingUnitKey).FirstOrDefault();
                    Host        relatedHost     = GetHostById(relatedHostings.OwnerId);
                    var         settings        = GetGlobalSettings();
                    if (hostingid > -1 && request != null && relatedHost != null && settings != null)
                    {
                        // Diary diary = HostingUnitsList[hostingid].DiaryState;
                        for (DateTime time = request.EntryDate.AddDays(1); time < request.ReleaseDate; time = time.AddDays(1))
                        {
                            DaysList.Add(new FullDays()
                            {
                                Date          = time.Date,
                                HostingUnitId = order.HostingUnitKey,
                                OrderId       = order.OrderKey,
                                Id            = Configuration.DaysIdentity + 1
                            });
                            Configuration.DaysIdentity++;
                            relatedHost.Discount += settings.PayForDay;
                            relatedHostings.Totaldays++;


                            //diary.Calender[time.Month - 1, time.Day - 1] = true;
                        }
                        // HostingUnitsList[key].DiaryState = diary;
                    }
                    OrderList[index].Status = Enums.OrderStatus.Success; //אני לא יודעת אם סטטוס ההזמנה המקורית השנה אף הוא
                }
                UpdateXml <Order>(OrderList);
                UpdateXml <FullDays>(DaysList);
                UpdateXml <Host>(HostsList);
            }
        }
Esempio n. 11
0
        public async Task <ActionResult <Order> > Put(int id, Enums.OrderStatus status)
        {
            Order order = await db.Orders.Include(c => c.Customer).Include(d => d.DeliveryAddress).FirstOrDefaultAsync(x => x.Id == id);

            if (order == null)
            {
                return(NotFound());
            }

            if (!Enum.IsDefined(typeof(Enums.OrderStatus), status))
            {
                return(BadRequest());
            }

            order.Status = status;
            db.Update(order);
            await db.SaveChangesAsync();

            return(Ok(order));
        }
Esempio n. 12
0
 public IList <Order> GetOrderList(Enums.OrderStatus orderStatus)
 {
     return(DaoObj.GetOrderList(orderStatus));
 }
Esempio n. 13
0
        private List <RFIDPassMediaReissueStage> GetRFIDPassMediaReissueStageByStatus(Enums.OrderStatus status)
        {
            int batchSize = int.Parse(ConfigurationManager.AppSettings["BatchSize"].ToString());

            List <RFIDPassMediaReissueStage> orders = new List <RFIDPassMediaReissueStage>();

            Console.WriteLine(string.Format("BEGIN Get RFIDPassMediaReissueStage data from SQL Server"));
            Console.WriteLine();

            using (var context = new RTPContext())
            {
                orders = context.RFIDPassMediaReissueStages.SqlQuery("SELECT TOP " + batchSize.ToString() + " * FROM RFIDPassMediaReissueStage WHERE StatusID = " + status.GetHashCode().ToString()).ToList <RFIDPassMediaReissueStage>();
            }

            Console.WriteLine(string.Format("END Get RFIDPassMediaReissueStage data from SQL Server"));
            Console.WriteLine();

            return(orders);
        }
Esempio n. 14
0
        /// <summary>
        /// This function updates an order with a key of <paramref name="key"/> to a status of <paramref name="stat"/>
        /// </summary>
        /// <exception cref="KeyNotFoundException">Thrown when an order with the specified key is not found</exception>
        ///<exception cref="AlreadyClosedException">Thrown when tryin to change the status of Order Whose status has already been set to "closed"</exception>
        ///<exception cref="UnauthorizedActionException">Throw when try to change the status to <see cref="Enums.OrderStatus.SentMail"/> but the <see cref="Host.CollectionClearance"/> is false</exception>
        /// <param name="key">Key of Order to update the status of</param>
        /// <param name="stat">Status to update Order status to</param>
        public void UpdateOrderStatus(int key, Enums.OrderStatus stat)
        {
            //REMARK: בעל יחידת אירוח יוכל לשלוח הזמנה ללקוח )שינוי הסטטוס ל "נשלח מייל"(, רק אם חתם על הרשאה לחיוב חשבון בנק - done
            //REMARK: לאחר שסטטוס ההזמנה השתנה לסגירת עיסקה – לא ניתן לשנות יותר את הסטטוס שלה. - done
            //REMARK: כאשר סטטוס ההזמנה משתנה בגלל סגירת עסקה – יש לבצע חישוב עמלה בגובה של 10 ₪ ליום אירוח. )עיין הערה למטה(
            //REMARK: כאשר סטטוס ההזמנה משתנה בגלל סגירת עסקה – יש לסמן במטריצה את התאריכים הרלוונטיים. - done
            //REMARK: כאשר סטטוס הזמנה משתנה עקב סגירת עסקה – יש לשנות את הסטטוס של דרישת הלקוח בהתאם, וכן לשנות את הסטטוס של כל ההזמנות האחרות של אותו לקוח. - done
            //REMARK:   כאשר סטטוס ההזמנה משתנה ל"נשלח מייל" – המערכת תשלח באופן אוטומטי מייל  ללקוח עם פרטי ההזמנה. ניתן לדחות את הביצוע בפועל של שליחת המייל לשלב הבא, וכעת רק להדפיס הודעה על המסך. -done
            if (!CheckIfOrderExists(key))
            {
                throw new KeyNotFoundException("There is no order with the key specified");
            }

            Order ord = GetOrder(key);

            //I assumed that when the status is changed to close ("CustomerResponsiveness" or "CustomerUnresponsiveness")
            //you can still change the type of close but not to any open status("UnTreated" or "SentMail")
            if (IsClosed(ord.Status) && !IsClosed(stat))
            {
                throw new AlreadyClosedException("Order", key);
            }

            if (stat == Enums.OrderStatus.SentMail)
            {
                if (!GetHostingUnit(ord.HostingUnitKey).Owner.CollectionClearance)
                {
                    throw new UnauthorizedAccessException("a host cannot send an email if it does not authorize an account billing authorization");
                }
                Console.WriteLine("Send mail");
                DAL_Adapter.GetDAL().UpdateOrderStatus(key, Enums.OrderStatus.SentMail);
            }

            if (stat == Enums.OrderStatus.ClosedByCustomerResponsiveness)
            {
                HostingUnit  hostingUnit  = GetHostingUnit(ord.HostingUnitKey);
                GuestRequest guestRequest = GetGuestRequest(ord.GuestRequestKey);

                ///<remarks>
                ///This log check is here in addition to the check when creating the order(<see cref="AddOrder(Order)"/>)
                ///to avoid a situation where 2 guestRequest have booked the same day and the one host send order to each of them
                ///and one of them approved then if the other approve and mark even though the dates are busy, he can do it
                ///so we added another check her
                ///</remarks>
                if (CheckIfAvailable(hostingUnit.Diary, guestRequest.EntryDate, guestRequest.ReleaseDate))
                {
                    hostingUnit.Diary = MarkingInTheDiary(hostingUnit, guestRequest.EntryDate, guestRequest.ReleaseDate);
                    UpdateHostingUnit(hostingUnit, ord.HostingUnitKey);
                }
                else
                {
                    DAL_Adapter.GetDAL().UpdateOrderStatus(key, Enums.OrderStatus.ClosedByHost);
                    throw new OccupiedDatesException(guestRequest.EntryDate.Day + "." + guestRequest.EntryDate.Month + " - " + guestRequest.ReleaseDate.Day + "." + guestRequest.ReleaseDate.Month);
                }

                //close all the orders to this guestRequest
                UpdateGuestRequestStatus(ord.GuestRequestKey, Enums.RequestStatus.ClosedWithDeal);
                var linkedOrder = from order in GetAllOrders()
                                  where order.GuestRequestKey == ord.GuestRequestKey
                                  select order;
                linkedOrder.AsParallel().ForAll((x => UpdateOrderStatus(x.OrderKey, Enums.OrderStatus.ClosedByHost)));

                //calculate the Commission
                hostingUnit.Commission += GetNumberOfDateInRange(guestRequest.EntryDate, guestRequest.ReleaseDate) * Configuration.Commission;
                UpdateHostingUnit(hostingUnit, hostingUnit.HostingUnitKey);
            }
        }
Esempio n. 15
0
 public int AllOrdersOfHostingUnit(string hostingUnitKey, Enums.OrderStatus status)
 {
     return(getAllOrders(Item => Item.HostingUnitKey == hostingUnitKey && Item.OrderStatus == status).Count);
 }
Esempio n. 16
0
 public int AllOrdersOfGuestRequest(string guestRequestKey, Enums.OrderStatus status)
 {
     return(getAllOrders(Item => Item.GuestRequestKey == guestRequestKey && Item.OrderStatus == status).Count);
 }
Esempio n. 17
0
 private void UpdateOrderStatus(Enums.OrderStatus orderStatus)
 {
     BalObj.UpdateOrderStatus(Convert.ToInt32(lblOrderID.Text), orderStatus);
 }
Esempio n. 18
0
 void guestStatus(BE.Order o, Enums.OrderStatus val) //פונקציה שמשנה את הסטטוס של דרישת לקוח
 {
     o.orderStatus = val;
     dal.UpdateOrder(o);
 }
Esempio n. 19
0
 public Order(Enums.OrderStatus orderStatus, DateTime createDate)
 {
     this.orderStatus = orderStatus;
     this.createDate  = createDate;
 }
Esempio n. 20
0
 public void ChangeOrderStatus(int orderId, Enums.OrderStatus newStatus)
 => ChangeOrderStatus(_uow.Orders.Get(orderId), newStatus);
Esempio n. 21
0
 public int UpdateOrderStatus(int orderId, Enums.OrderStatus orderStatus)
 {
     return(DaoObj.UpdateOrderStatus(orderId, orderStatus));
 }