Example #1
0
        public async Task <int> CreateEmployee(EmployeeCreateRequestModel model)
        {
            var garage = await this.dbContext.Garages.FirstOrDefaultAsync(x => x.Id == model.GarageId);

            var employee = new Employee()
            {
                UserId = model.UserId,
                Name   = model.UserName,
                Role   = model.Role,
                Garage = garage
            };

            var departmet = await this.dbContext.Departments.FirstOrDefaultAsync(d => d.Id == model.DepartmentId);

            departmet.Employees.Add(employee);
            garage.Employees.Add(employee);

            this.dbContext.Update(garage);
            this.dbContext.Update(departmet);
            this.dbContext.Add(employee);

            await this.dbContext.SaveChangesAsync();

            return(employee.Id);
        }
        public async Task <ActionResult <int> > Create(EmployeeCreateRequestModel model)
        {
            var userId = this.User.GetId();

            var result = await this.employeeService.CreateEmployee(model);

            return(Created(nameof(this.Create), result));
        }