public EmployeeVisitDTO InsertVisit(EmployeeVisitDTO data) { EmployeeVisit dataToInsert = new EmployeeVisit(); dataToInsert = EmployeeVisitRequestFormatter.ConvertRespondentInfoFromDTO(data); return(EmployeeVisitRequestFormatter.ConvertRespondentInfoToDTO(_unitOfWork.EmployeeVisitRepository.Create(dataToInsert))); }
public int UpdateVisit(EmployeeVisitDTO data) { EmployeeVisit dataToUpdate = new EmployeeVisit(); dataToUpdate = EmployeeVisitRequestFormatter.ConvertRespondentInfoFromDTO(data); var res = _unitOfWork.EmployeeVisitRepository.Update(dataToUpdate); return(res); }
public virtual IActionResult AddVisit([FromBody] Body3 body) { (string, UserType)sender; try { sender = Security.SolveGUID(_context, Request.Headers["Guid"]); } catch (Exception e) { return(StatusCode(401, e.Message)); } var car = _context.Cars.FirstOrDefault(x => x.LicensePlate.Equals(body.LicensePlate)); if (car is null) { return(StatusCode(404)); } var client = _context.Users.FirstOrDefault(x => x.Username == car.Username); if (client is null) { return(StatusCode(400)); } var employees = _context.Users .Include(x => x.AssignedVisits); var min = employees.Where(x => x.UserType == UserType.WORKSHOP_EMPLOYEE) .Min(x => x.AssignedVisits.Count); var employee = employees.FirstOrDefault(x => x.AssignedVisits.Count == min && x.UserType == UserType.WORKSHOP_EMPLOYEE); if (employee is null) { return(StatusCode(400)); } var visit = new Visit { Date = body.Date, Car = car, LicensePlate = body.LicensePlate, RequiredActions = body.RequiredActions, Type = body.Type, Priority = body.Priority, Status = 0, CarOwnerUsername = client.Username, }; var ev = new EmployeeVisit { VisitId = _context.Visits.Max(x => x.VisitId) + 1, Username = employee.Username }; _context.Visits.Add(visit); _context.EmployeesVisits.Add(ev); try { _context.SaveChanges(); } catch (DbUpdateException) { return(StatusCode(400)); } return(new ObjectResult(visit)); }
public static EmployeeVisitDTO ConvertRespondentInfoToDTO(EmployeeVisit employeeVisit) { Mapper.CreateMap <EmployeeVisit, EmployeeVisitDTO>(); return(Mapper.Map <EmployeeVisit, EmployeeVisitDTO>(employeeVisit)); }