public async Task <IActionResult> CreateDepartmentProfile([FromBody] DepartmentMealProfilingSaveModel model) { if (!ModelState.IsValid) { return(BadRequest()); } DepartmentMealProfiling existingEntity = await context.DepartmentMealProfilings.FirstOrDefaultAsync(u => u.DepartmentId == model.DepartmentId); if (existingEntity != null) { // Update the Profile var mealProfile = await context.DepartmentMealProfilings.SingleOrDefaultAsync(u => u.Id == existingEntity.Id); mealProfile.MealAssignmentId = model.MealAssignmentId; mealProfile.DepartmentId = model.DepartmentId; context.Entry(mealProfile).State = EntityState.Modified; await context.SaveChangesAsync(); var updateEntity = await context.DepartmentMealProfilings .Include(u => u.Department) .Include(d => d.MealAssignment) .SingleOrDefaultAsync(it => it.Id == mealProfile.Id); var updateResult = mapper.Map <DepartmentMealProfiling, DepartmentMealProfilingModel>(updateEntity); return(Ok(updateResult)); } var entity = mapper.Map <DepartmentMealProfilingSaveModel, DepartmentMealProfiling>(model); context.DepartmentMealProfilings.Add(entity); await context.SaveChangesAsync(); entity = await context.DepartmentMealProfilings .Include(u => u.Department) .Include(d => d.MealAssignment) .SingleOrDefaultAsync(it => it.Id == entity.Id); var result = mapper.Map <DepartmentMealProfiling, DepartmentMealProfilingModel>(entity); return(Ok(result)); }
public async Task <IActionResult> CreateClientUser([FromBody] AccountSaveResource model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new ApplicationUser() { UserName = model.Username, Email = model.Email, EmailConfirmed = true, FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, IsEnabled = true }; model.Password = "******"; IdentityResult addUserResult = await userManager.CreateAsync(user, model.Password); if (!addUserResult.Succeeded) { return(StatusCode(400, addUserResult)); } DepartmentMealProfiling departProfile = await context.DepartmentMealProfilings.Where(d => d.DepartmentId == model.DepartmentId).FirstOrDefaultAsync(); var userProfiling = new UserMealProfiling() { UserId = user.Id, DepartmentMealProfilingId = departProfile.Id }; context.UserMealProfilings.Add(userProfiling); await context.SaveChangesAsync(); var result = mapper.Map <ApplicationUser, ApplicationUserModel>(user); return(StatusCode(200, result)); }