public async Task <ActionResult> Create(ServiceRateDto ServiceRate) { var serviceRateExists = await _serviceRateRepository.GetByComplaintsIdAsync(ServiceRate.ComplaintsId); if (serviceRateExists.Data == null) { var saved = await _serviceRateRepository.SaveAsync(ServiceRate); } else { serviceRateExists.Data.Rate = ServiceRate.Rate; var removedPreviousRate = await _serviceRateRepository.UpdateAsync(serviceRateExists.Data); } var complaints = await _complaintsRepository.GetAsync(ServiceRate.ComplaintsId); var binnacle = new BinnacleDto { ComplaintsId = ServiceRate.ComplaintsId, StatusId = complaints.Data.StatusId, Comment = $"SE HA PUNTUADO EL TICKET COMO: {ServiceRate.Rate}", ApplicationUserId = User.Identity.GetUserId() }; await _binnaclesRepository.SaveAsync(binnacle); return(RedirectToAction(nameof(ComplaintsController.Details), "Complaints", new { id = ServiceRate.ComplaintsId })); }
public async Task <TaskResult <ServiceRateDto> > SaveAsync(ServiceRateDto serviceRateDto) { var serviceRate = AutoMapper.Mapper.Map <ServiceRate>(serviceRateDto); var result = new TaskResult <ServiceRateDto>(); try { _context.ServiceRate.Add(serviceRate); await _context.SaveChangesAsync(); result.Message = $"Se agregó la puntuacion #{serviceRate.Id}"; result.Data = AutoMapper.Mapper.Map <ServiceRateDto>(serviceRate); } catch (Exception e) { result.Success = false; result.Message = $"Error al intentar agregar la puntuacion: {e.Message}"; } return(result); }
public async Task <TaskResult <ServiceRateDto> > UpdateAsync(ServiceRateDto serviceRateDto) { var serviceRate = AutoMapper.Mapper.Map <ServiceRate>(serviceRateDto); serviceRate.Complaint = null; var result = new TaskResult <ServiceRateDto>(); try { //_context.ServiceRate.Add(serviceRate); //_context.Entry(serviceRate).State = System.Data.Entity.EntityState.Modified; await _context.SaveChangesAsync(); result.Data = AutoMapper.Mapper.Map <ServiceRateDto>(serviceRate); result.Message = "El registro fue actualizado correctamente"; } catch (Exception e) { result.Success = false; result.Message = $"Error al intentar actualizar información de la puntuacion: {e.Message}"; } return(result); }