Пример #1
0
        public async Task <IActionResult> UpdateOccurence([FromBody] OccurrenceDto occurrenceDto)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (occurrenceDto.Id == 0)
                    {
                        return(NotFound());
                    }

                    var result = await _occurenceService.UpdateOccurrence(occurrenceDto);

                    return(Ok(result));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #2
0
 /// <summary>
 /// From Occurrence dto To Occurrence pivot.
 /// </summary>
 /// <param name="occurrenceDto">occurrence dto to assemble.</param>
 /// <returns>Occurrencepivot result.</returns>
 public static OccurrencePivot ToPivot(this OccurrenceDto occurrenceDto)
 {
     if (occurrenceDto == null)
     {
         return(null);
     }
     return(new OccurrencePivot
     {
         OccurrenceStartDate = occurrenceDto.OccurrenceStartDate,
         OccurrenceEndDate = occurrenceDto.OccurrenceEndDate,
         OccurrenceLink = occurrenceDto.OccurrenceLink,
         OccurrenceId = occurrenceDto.OccurrenceId
     });
 }
Пример #3
0
        public async Task <IActionResult> SaveOccurrence([FromForm] OccurrenceDto occurrenceDto, IFormFile formFile)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var result = await _occurenceService.SaveOccurrence(occurrenceDto, formFile, UserId);

                    return(Ok(result));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #4
0
        public async Task <OccurrenceDto> UpdateOccurrence(OccurrenceDto occurrenceDto)
        {
            var occurrence = await _occurrenceRepository.GetById(occurrenceDto.Id);

            occurrence.OccurrenceContactType = await _occurrenceContactTypeRepository.GetById(occurrenceDto.OccurrenceContactTypeId);

            occurrence.OccurrenceSubject = await _occurrenceSubjectRepository.GetById(occurrenceDto.OccurrenceSubjectId);

            occurrence.OccurrenceStatus = await _occurrenceStatusRepository.GetById(occurrenceDto.OccurrenceStatusId);

            occurrence.BrazilCTCall = !string.IsNullOrEmpty(occurrenceDto.BrazilCTCall) ? occurrenceDto.BrazilCTCall : "";

            if (occurrenceDto.OccurrenceStatusId == (int)OccurrenceStatusEnum.Closed)
            {
                occurrence.ClosedAt = DateTime.Now;
            }

            await _unitOfWork.CommitAsync();

            return(_mapper.Map(occurrence, occurrenceDto));
        }
Пример #5
0
        public async Task <OccurrenceDto> SaveOccurrence(OccurrenceDto occurrenceDto, IFormFile formFile, int userId)
        {
            if (formFile != null)
            {
                if (formFile.Length > 0)
                {
                    var extensions = Path.GetFileName(formFile.FileName).Split('.').Last().ToUpper();

                    var fileName = $"{DateTime.Now.Year}" +
                                   $"{DateTime.Now.Month.ToString().PadLeft(2, '0')}" +
                                   $"{DateTime.Now.Day.ToString().PadLeft(2, '0')}" +
                                   $"{DateTime.Now.Hour.ToString().PadLeft(2, '0')}" +
                                   $"{DateTime.Now.Minute.ToString().PadLeft(2, '0')}" +
                                   $"{DateTime.Now.Second.ToString().PadLeft(2, '0')}.{extensions}";

                    var path = Path.Combine(_env.WebRootPath, $"Content/Occurrence/{Path.GetFileName(fileName)}");

                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await formFile.CopyToAsync(stream);
                    }

                    occurrenceDto.File = fileName;
                }
            }

            var occurrence = _mapper.Map(occurrenceDto, new Occurrence());

            occurrence.OccurrenceContactType = await _occurrenceContactTypeRepository.GetById(occurrenceDto.OccurrenceContactTypeId);

            occurrence.OccurrenceSubject = await _occurrenceSubjectRepository.GetById(occurrenceDto.OccurrenceSubjectId);

            occurrence.OccurrenceStatus = await _occurrenceStatusRepository.GetById(occurrenceDto.OccurrenceStatusId == 0?(int)OccurrenceStatusEnum.Open : occurrenceDto.OccurrenceStatusId);

            occurrence.ClosedAt = DateTime.MinValue;

            if (string.IsNullOrEmpty(occurrenceDto.Cpf))
            {
                occurrence.User = await _userService.GetUserById(userId);
            }
            else
            {
                occurrence.User = (await _userRepository.CustomFind(x => x.Cpf.Equals(occurrenceDto.Cpf))).First();
            }

            occurrence.CreatedAt = DateTime.Now;
            occurrence.Activated = true;
            occurrence.Code      = new string(Enumerable.Repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", 8).Select(s => s[new Random().Next(s.Length)]).ToArray());

            _occurrenceRepository.Save(occurrence);

            await _unitOfWork.CommitAsync();

            occurrenceDto.OccurrenceMessage.Occurrence = new OccurrenceDto();

            occurrenceDto.OccurrenceMessage.Occurrence.Id = occurrence.Id;

            await SaveMessage(occurrenceDto.OccurrenceMessage, formFile, userId);

            return(_mapper.Map(occurrence, occurrenceDto));
        }