public string PostGuest(GuestHeader req) { try { if (Request.IsAuthenticated) { using (WeddingEntities context = new WeddingEntities()) { if (req.GuestHeaderId != 0) { //update req.UpdatedBy = createdBy; req.UpdatedOn = DateTime.Now.ToUniversalTime(); foreach (var guest in req.GuestDetails) { guest.UpdatedBy = createdBy; guest.UpdatedOn = DateTime.Now.ToUniversalTime(); context.GuestDetails.AddOrUpdate(guest); } } else { //insert req.CreatedBy = createdBy; req.UpdatedBy = createdBy; req.CreatedOn = DateTime.Now.ToUniversalTime(); req.UpdatedOn = DateTime.Now.ToUniversalTime(); foreach (var guest in req.GuestDetails) { guest.CreatedBy = createdBy; guest.UpdatedBy = createdBy; guest.CreatedOn = DateTime.Now.ToUniversalTime(); guest.UpdatedOn = DateTime.Now.ToUniversalTime(); } } context.GuestHeaders.AddOrUpdate(req); context.SaveChanges(); return("true"); } } else { throw new Exception(); } } catch (Exception ex) { throw ex; } }
public string AttachGuestToHeader(GuestHeader req) { try { if (Request.IsAuthenticated) { using (WeddingEntities context = new WeddingEntities()) { //delete Guest Header / Detail records req.Active = false; foreach (var guest in req.GuestDetails) { if (guest.GuestHeaderId != 0 && guest.GuestDetailId != 0) { guest.Active = false; this.DeleteGuest(guest); } //get data ready for post guest.GuestHeaderId = 0; guest.GuestDetailId = 0; guest.Active = true; } //clear Guest Header / Detail Id's and set data to active to post req.Active = true; req.GuestHeaderId = 0; req.GuestCount = req.GuestDetails.Count; this.PostGuest(req); } } else { throw new Exception(); } } catch (Exception ex) { throw ex; } return("true"); }