public IActionResult Edit(int?id) { if (id == null) { return(NotFound()); } var business = _businessManager.GetBusiness(id.Value); var social = _socialManager.GetSocialForBusiness(id.Value); var businessMenu = _businessMenuManager.GetBusinessMenuForBusiness(id.Value); if (business == null) { return(NotFound()); } ViewData["OwnerID"] = User.FindFirstValue(ClaimTypes.NameIdentifier); var businesVM = new BusinessEditViewModel { ID = business.ID, OwnerID = business.OwnerID, Email = business.Owner.Email, Name = business.Name, Street = business.Street, HouseNumber = business.HouseNumber, Mailbox = business.Mailbox, Zipcode = business.Zipcode, City = business.City, Type = business.Type, DisplayPictureBytes = business.DisplayPicture, BusinessHours = _businessManager.GetBusinessHours(business.ID).Data.ToList(), Omschrijving = business.Omschrijving, Social = social, MenuID = businessMenu == null ? null : businessMenu.MenuID, SocialID = social.ID }; if (businessMenu != null) { businesVM.BusMenuID = businessMenu.ID; } return(View(businesVM)); }
public IActionResult Edit(int id, BusinessEditViewModel model) { if (id != model.ID) { return(NotFound()); } if (ModelState.IsValid) { var business = new Business { ID = model.ID, OwnerID = model.OwnerID, Name = model.Name, Street = model.Street, HouseNumber = model.HouseNumber, Mailbox = model.Mailbox, Zipcode = model.Zipcode, City = model.City, Type = model.Type, DisplayPicture = model.DisplayPictureBytes, Omschrijving = model.Omschrijving }; //If new image we need to overwrite it if (model.DisplayPictureUpload != null) { using (var ms = new MemoryStream()) { model.DisplayPictureUpload.CopyTo(ms); business.DisplayPicture = ms.ToArray(); } } var social = model.Social; social.Business = business; social.BusinessID = business.ID; social.ID = model.SocialID; var busMenu = new BusinessMenu(); if (model.MenuID > 0) { busMenu.ID = model.BusMenuID; busMenu.BusinessID = model.ID; busMenu.MenuID = model.MenuID.Value; } try { _businessManager.EditBusiness(business); _socialManager.EditSocial(social); //If a menu was selected we either edit or create one if (model.MenuID != -1) { //if menu exists we edit it, else we create it if (busMenu.ID > 0) { _businessMenuManager.EditBusinessMenu(busMenu); } else { _businessMenuManager.CreateBusinessMenu(busMenu); } } foreach (BusinessHour hour in model.BusinessHours) { hour.BusinessID = business.ID; _businessManager.EditBusinessHour(hour); } } catch (DbUpdateConcurrencyException) { if (!BusinessExists(business.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["OwnerID"] = User.FindFirstValue(ClaimTypes.NameIdentifier); return(View(model)); }