Esempio n. 1
0
        public string CreateNewMenuItem([FromBody] string req)
        {
            var result   = String.Empty;
            var request  = new SaveMenuItemRequest();
            var response = new SaveMenuItemResponse();

            try
            {
                request = JsonConvert.DeserializeObject <SaveMenuItemRequest>(req);

                MenuService service = new MenuService();

                response = service.PerformCreateNewMenuItem(request);
            }
            catch (Exception ex)
            {
                response = new SaveMenuItemResponse()
                {
                    MessageString   = ex.Message,
                    MessageStatusID = (byte)EMessageStatus.Success
                };
            }

            result = JsonConvert.SerializeObject(response);

            return(result);
        }
Esempio n. 2
0
        public SaveMenuItemResponse PerformCreateNewMenuItem(SaveMenuItemRequest request)
        {
            SaveMenuItemResponse response = new SaveMenuItemResponse();

            try
            {
                using (var db = new CuddlyWombatEntities())
                {
                    db.Configuration.LazyLoadingEnabled   = false;
                    db.Configuration.ProxyCreationEnabled = false;

                    if (request.MenuItemID == 0)
                    {
                        var menuItem = new MenuItem()
                        {
                            Name        = request.Name,
                            Description = request.Description,
                            Price       = request.Price,
                            DateCreated = DateTime.Now,
                            IsUsed      = true,
                            PreparationTimeInMinutes = request.PreparationTimeInMinutes
                        };

                        db.MenuItems.Add(menuItem);
                    }
                    else
                    {
                        var menuItem = (from m in db.MenuItems
                                        where m.MenuItemID == request.MenuItemID
                                        select m).FirstOrDefault();

                        menuItem.Name        = request.Name;
                        menuItem.Description = request.Description;
                        menuItem.Price       = request.Price;
                        menuItem.IsUsed      = true;
                        menuItem.PreparationTimeInMinutes = request.PreparationTimeInMinutes;
                    }
                    response.MenuItems = (from m in db.MenuItems
                                          select m).ToList();

                    db.SaveChanges();

                    response.MessageString   = "New Menu Item is successfully added to the database";
                    response.MessageStatusID = (byte)EMessageStatus.Success;
                }
            }
            catch (Exception ex)
            {
                response.MessageStatusID = (byte)EMessageStatus.Exception;
                response.MessageString   = ex.Message;
            }
            return(response);
        }
        public SaveMenuItemResponse PerformUpdateReservationStatus(UpdateReservationRequest request)
        {
            SaveMenuItemResponse response = new SaveMenuItemResponse();
            var modifiedDate = DateTime.Now;

            try
            {
                using (var db = new CuddlyWombatEntities())
                {
                    db.Configuration.LazyLoadingEnabled   = false;
                    db.Configuration.ProxyCreationEnabled = false;

                    var reservationToUpdate = (from r in db.Reservations
                                               where r.ReservationID == request.ReservationID
                                               select r).FirstOrDefault();

                    if (reservationToUpdate != null)
                    {
                        var reservationHistory = new ReservationHistory()
                        {
                            ReservationID       = reservationToUpdate.ReservationID,
                            CustomerID          = reservationToUpdate.CustomerID,
                            NumberOfTables      = reservationToUpdate.NumberOfTables,
                            ReservationDate     = reservationToUpdate.ReservationDate,
                            ReservationStatusID = reservationToUpdate.ReservationStatusID,
                            DateCreated         = reservationToUpdate.DateCreated,
                            DateModified        = modifiedDate
                        };

                        db.ReservationHistories.Add(reservationHistory);
                        reservationToUpdate.ReservationStatusID = request.ReservationStatusID;
                        reservationToUpdate.DateModified        = modifiedDate;
                    }
                    else
                    {
                        response = new SaveMenuItemResponse()
                        {
                            MessageString   = "Please select a reservation",
                            MessageStatusID = (byte)EMessageStatus.Success
                        };
                        return(response);
                    }

                    db.SaveChanges();

                    if (request.ReservationStatusID == (byte)EReservationStatus.Canceled)
                    {
                        response.MessageString = "Reservation is cancelled";
                    }
                    else if (request.ReservationStatusID == (byte)EReservationStatus.Completed)
                    {
                        response.MessageString = "Reservation Status updated to Completed";
                    }

                    response.MessageStatusID = (byte)EMessageStatus.Success;
                }
            }
            catch (Exception ex)
            {
                response.MessageStatusID = (byte)EMessageStatus.Exception;
                response.MessageString   = ex.Message;
            }

            return(response);
        }