public async Task <ApiResponse <DutyDto> > UpdateAsync(DutyDto dutyDto) { var employee = await _employeeRepository.GetEmployeeByUsernameAsync(dutyDto.Employee.Username); var dutyToUpdate = await _dutyRepository.FindEmployeeDutyByStartShiftAndUsernameAsync(dutyDto); if (dutyDto.StartShift == dutyDto.Employee.EmployeeDuties.First().StartShift) { return(new ApiResponse <DutyDto>()); } dutyToUpdate.StartShift = dutyDto.StartShift; dutyToUpdate.EndShift = dutyDto.EndShift; dutyToUpdate.Employee.UserId = employee.UserId; _dutyRepository.Update(dutyToUpdate); await _context.SaveChangesAsync(); return(new ApiResponse <DutyDto> { Response = new DutyDto { StartShift = dutyDto.StartShift, EndShift = dutyDto.EndShift, Employee = dutyDto.Employee } }); }
public async Task <Object> AddDuty([FromBody] DutyDto dutyDto) { var duty = _mapper.Map <DutyDto, Duty>(dutyDto); await _databaseContext.Duties.AddAsync(duty); await _databaseContext.SaveChangesAsync(); return(Ok("Обязанность успешно добавлена")); }
/// <summary> /// Get duty by username and start shift /// </summary> /// <param name="dutyDto">The employee duty information to find</param> /// <returns></returns> public async Task <Duty> FindEmployeeDutyByStartShiftAndUsernameAsync(DutyDto dutyDto) { var duty = await _dataContext.Duties // filter by logged employee .Where(u => u.Employee.Username == dutyDto.Employee.Username) .Where(s => s.StartShift == dutyDto.Employee.EmployeeDuties.First().StartShift) .FirstAsync(); return(duty); }
/// <summary> /// Método para crear tareas asignadas a la familia. /// </summary> /// <param name="duty"></param> /// <returns></returns> public DutyDto CreateDuty(DutyDto duty) { using (DutiesFamilyEntities dataContext = new DutiesFamilyEntities()) { var dutyCreated = new Duty(); dutyCreated.DutyName = duty.DutyName; dutyCreated.IdFamily = duty.IdFamily; dataContext.Duty.Add(dutyCreated); dataContext.SaveChanges(); } return(duty); }
/// <summary> /// Método para consultar las tareas creadas por la familia. /// </summary> /// <param name="idFamily"></param> /// <returns></returns> public List <DutyDto> GetDutiesFamily(int idFamily) { var duties = new List <DutyDto>(); using (DutiesFamilyEntities dataContext = new DutiesFamilyEntities()) { foreach (var item in dataContext.Duty.Where(x => x.IdFamily == idFamily).ToList()) { var duty = new DutyDto(); duty.IdDuty = item.IdDuty; duty.IdFamily = item.IdFamily; duty.DutyName = item.DutyName; duties.Add(duty); } } return(duties); }
/// <summary> /// Register employee duty /// </summary> /// <param name="dutyDto">The duty dto arrived from view form </param> /// <returns></returns> public async Task <bool> AddDutyAsync(DutyDto dutyDto) { var duty = new Duty(); // Get id of the employee for connect with them duties var employeeId = await _employeeRepository.GetEmployeeByUsernameAsync(dutyDto.Employee.Username); // Assign to duty model duty.StartShift = dutyDto.StartShift; duty.EndShift = dutyDto.EndShift; duty.EmployeeId = employeeId.UserId; // If no conflict with other duties add to data context await _dataContext.AddAsync(duty); // Save finally return(await _dataContext.SaveChangesAsync() > 0); }
public async Task <ApiResponse <DutyDto> > RegisterAsync(DutyDto dutyDto) { // If something was wrong if (!await _dutyRepository.AddDutyAsync(dutyDto)) { // return ApiResponse with described errors // TODO: Add error message return(new ApiResponse <DutyDto>()); } // Otherwise return new duty object return(new ApiResponse <DutyDto> { Response = new DutyDto { StartShift = dutyDto.StartShift, EndShift = dutyDto.EndShift, Employee = dutyDto.Employee } }); }