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));
        }
示例#2
0
        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));
        }