コード例 #1
0
        public async Task <Em.Employees> PutAsync(string id, Em.Employees updateRequest)
        {
            int empNo;

            if (!int.TryParse(id, out empNo))
            {
                return(await Task.FromResult <Em.Employees>(null));
            }

            Em.Employees employee = await _context.Employees
                                    .Where(i => i.EmpNo == empNo)
                                    .FirstOrDefaultAsync();

            // try {
            //     DataCloneExtension.CopyProperties(updateRequest, employee);
            // } catch(Exception ex) {
            //     var e = ex;
            // }
            employee.FirstName = updateRequest.FirstName;
            employee.LastName  = updateRequest.LastName;
            employee.BirthDate = updateRequest.BirthDate;
            employee.HireDate  = updateRequest.HireDate;
            employee.Gender    = updateRequest.Gender;

            _context.Entry(employee).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(updateRequest);
        }
コード例 #2
0
        public async Task <IActionResult> PutEmployee(int id, Employee employee)
        {
            if (id != employee.Id)
            {
                return(BadRequest());
            }

            _context.Entry(employee).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmployeeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
        public async Task <IActionResult> Create([Bind("Id,Name,Surname,BirthDate,Job,Payment")] Employee employee)
        {
            if (ModelState.IsValid)
            {
                _context.Add(employee);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(employee));
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("Id,Name,NormalizedName,ConcurrencyStamp")] AspNetRoles aspNetRoles)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aspNetRoles);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(aspNetRoles));
        }
コード例 #5
0
        public async Task <IActionResult> Create([Bind("Age,Attrition,BusinessTravel,DailyRate,Department,DistanceFromHome,Education,EducationField,EmployeeCount,EmployeeNumber,EnvironmentSatisfaction,Gender,HourlyRate,JobInvolvement,JobLevel,JobRole,JobSatisfaction,MaritalStatus,MonthlyIncome,MonthlyRate,NumCompaniesWorked,Over18,OverTime,PercentSalaryHike,PerformanceRating,RelationshipSatisfaction,StandardHours,StockOptionLevel,TotalWorkingYears,TrainingTimesLastYear,WorkLifeBalance,YearsAtCompany,YearsInCurrentRole,YearsSinceLastPromotion,YearsWithCurrManager")] Models.Data data)
        {
            if (ModelState.IsValid)
            {
                _context.Add(data);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(data));
        }
コード例 #6
0
        public async Task <IActionResult> Create([Bind("Id,EmployeeName,JoiningDate,Department,Salary,EmailAddress,Address")] Employees employees)
        {
            if (ModelState.IsValid)
            {
                _context.Add(employees);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(employees));
        }
コード例 #7
0
        public async Task <object> Save([FromBody] JObject o, [FromQuery] string type)
        {
            var assembly     = _context.GetType().Assembly;
            var assemblyName = assembly.GetName().Name;
            var objectType   = assembly.GetType($"{assemblyName}.Models.{type}");
            var entity       = o.ToObject(objectType);
            var id           = objectType.GetProperty("Id")?.GetValue(entity);
            var result       = id == null || (uint)id == 0 ? await _context.AddAsync(entity) : _context.Update(entity);

            await _context.SaveChangesAsync();

            return(result?.Entity);
        }
コード例 #8
0
        // Метод контроллера, удаляющий сущность с заданным id
        public async Task <ActionResult <Employee> > Delete(int id)
        {
            Employee employee = db.Employees.FirstOrDefault(x => x.Id == id);

            // Если сотрудник не найден, то вернем информацию об этом
            if (employee == null)
            {
                return(NotFound());
            }
            // Удаляем найденного сотрудника из БД
            db.Employees.Remove(employee);
            // Сохраняем изменения
            await db.SaveChangesAsync();

            // Возврат HTTP Response со статусом ОК
            return(Ok(employee));
        }
コード例 #9
0
        public async Task <EmployeeDto> CreateNewEmployeeAsync(CreateEmployeeModel createEmployeeModel)
        {
            _logger.LogInformation(
                "Adding new employee {createEmployeeModel}",
                JsonConvert.SerializeObject(createEmployeeModel));

            // Run some validation rules, simple RPCs ...
            await Task.CompletedTask;

            var entity = _mapper.Map <Employee>(createEmployeeModel);

            _employeesContext.Employees.Add(entity);

            await _employeesContext.SaveChangesAsync();

            return(_mapper.Map <EmployeeDto>(entity));
        }
コード例 #10
0
        public async Task <IActionResult> AddOrEdit([Bind("EmployeeId,FullName,EmpCode,Position,OfficeLocation")] Employee employee)
        {
            if (ModelState.IsValid)
            {
                if (employee.EmployeeId == 0)
                {
                    _context.Add(employee);
                }
                else
                {
                    _context.Update(employee);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(employee));
        }
コード例 #11
0
        public async Task <IActionResult> Create([Bind("Id,FirstName,LastName,ChiefId")] Employee employee)
        {
            if (ModelState.IsValid)
            {
                _context.Add(employee);
                var chief = await _context.Employees.Include(m => m.Subordinates).SingleOrDefaultAsync(x => x.Id == employee.ChiefId);

                if (chief != null)
                {
                    chief.Subordinates.Add(employee);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ChiefId"] = new SelectList(_context.Employees, "Id", "FullName", employee.ChiefId);
            return(View(employee));
        }
コード例 #12
0
        public async Task <string> Employees(Employee employee)
        {
            var e = employee;

            Console.WriteLine(e.Id);
            _employeesContext.Employees.Add(e);
            await _employeesContext.SaveChangesAsync();

            return("Done");
        }
コード例 #13
0
        public async Task <Em.VwEmpDetails> PutAsync(string id, Em.VwEmpDetails updateRequest)
        {
            int empNo;

            if (!int.TryParse(id, out empNo))
            {
                return(await Task.FromResult <Em.VwEmpDetails>(null));
            }

            Em.Employees employee = await _context.Employees
                                    .Where(i => i.EmpNo == empNo)
                                    .FirstOrDefaultAsync();

            Em.VwSalariesCurrent salary = await _context.VwSalariesCurrent
                                          .Where(i => i.EmpNo == empNo)
                                          .FirstOrDefaultAsync();

            Em.VwTitlesCurrent title = await _context.VwTitlesCurrent
                                       .Where(i => i.EmpNo == empNo)
                                       .FirstOrDefaultAsync();

            Em.VwDeptEmpCurrent deptEmp = await _context.VwDeptEmpCurrent
                                          .Where(i => i.EmpNo == empNo)
                                          .FirstOrDefaultAsync();

            if (title.Title != updateRequest.Title)
            {
                throw new NotImplementedException();
            }

            if (salary.Salary != updateRequest.Salary)
            {
                throw new NotImplementedException();
            }

            if (deptEmp.DeptNo != updateRequest.DeptNo)
            {
                throw new NotImplementedException();
            }

            if (employeeBasicInfoChanged(employee, updateRequest))
            {
                employee.BirthDate = updateRequest.BirthDate;
                employee.FirstName = updateRequest.FirstName;
                employee.LastName  = updateRequest.LastName;
                employee.Gender    = updateRequest.Gender;
                employee.HireDate  = updateRequest.HireDate;

                _context.Entry(employee).State = EntityState.Modified;
            }

            await _context.SaveChangesAsync();

            return(updateRequest);
        }
コード例 #14
0
        public async Task <Departments> PutAsync(string id, Departments updateRequest)
        {
            IQueryable <Departments> result =
                from d in this._context.Departments
                where d.DeptNo == id
                select d;

            var dept = await result.FirstAsync();

            dept.DeptName = updateRequest.DeptName;

            _context.Entry(dept).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(dept);
        }
コード例 #15
0
        public async Task AddAsync(Employee employee, CancellationToken cancellationToken)
        {
            await _context.AddAsync(employee, cancellationToken);

            await _context.SaveChangesAsync(cancellationToken);
        }
コード例 #16
0
 public virtual async Task <int> SaveAsync()
 {
     return(await _context.SaveChangesAsync());
 }