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