// GET: SignBoards/Create public ActionResult Create() { var userId = new Guid(User.Identity.GetUserId()); var company = db.Companies.FirstOrDefault(com => com.CreatedByUserId == userId); if (company != null) { return(RedirectToAction("Create", "Companies")); } var signboardCreateViewModel = new SignBoardCreateViewModel(); signboardCreateViewModel.FittingTypes = CreateSelectList(); return(View(signboardCreateViewModel)); }
public async Task <ActionResult> Create(SignBoardCreateViewModel signBoardCreateViewModel) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); signBoardCreateViewModel.SignBoard.Id = Guid.NewGuid(); signBoardCreateViewModel.SignBoard.CreateDate = DateTime.Now; signBoardCreateViewModel.SignBoard.CreatedByUserId = new Guid(userId); var signBoardAddressId = Guid.NewGuid(); signBoardCreateViewModel.SignBoardAddress.Id = signBoardAddressId; signBoardCreateViewModel.SignBoardAddress.CreateDate = DateTime.Now; signBoardCreateViewModel.SignBoardAddress.CreatedByUserId = new Guid(User.Identity.GetUserId()); var company = await db.Companies.SingleOrDefaultAsync(company1 => company1.CreatedByUserId == new Guid(userId)); signBoardCreateViewModel.SignBoard.CompanyId = company.Id; signBoardCreateViewModel.SignBoard.SignBoardAddressId = signBoardAddressId; signBoardCreateViewModel.SignBoard.FittingTypeId = signBoardCreateViewModel.FittingType; if (company.CompanyAddressId != null) { signBoardCreateViewModel.CompanyAddressId = company.CompanyAddressId.Value; } db.SignBoardAddresses.Add(signBoardCreateViewModel.SignBoardAddress); db.SignBoards.Add(signBoardCreateViewModel.SignBoard); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(signBoardCreateViewModel)); }