コード例 #1
0
        public Task <long> CreateRelato(CreateRelatoCommand command)
        {
            var requestUrl = CreateRequestUri(string.Format(System.Globalization.CultureInfo.InvariantCulture,
                                                            $"{ResourceRelato}/CreateRelato"));

            return(Post(requestUrl, command));
        }
コード例 #2
0
        public async Task <ActionResult <long> > CreateRelato(CreateRelatoCommand command)
        {
            try
            {
                var unidade = await Mediator.Send(new GetUnidadeInfraEstruturaByIdQuery { CodUnidadeInfraestrutura = (int)command.CodUnidadeInfraestrutura });

                command.Sigla = unidade.Sigla;

                var sgsoRole = await _roleManager.FindByNameAsync(UserRoles.GestorSgsoSite);

                command.CodPerfilSgso = sgsoRole.Id;

                command.CodSituacaoAtribuicao = (int)EnumSituacaoAtribuicao.OcorrenciaAtribuida;

                var result = await Mediator.Send(command);

                return(result);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
コード例 #3
0
        public async Task <IActionResult> Create(IFormCollection collection)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    string uniqueFileName    = null;
                    var    listRelatoArquivo = new List <RelatoArquivoDto>();

                    if (collection.Files.Count > 0)
                    {
                        var file = collection.Files;

                        foreach (var item in file)
                        {
                            string uploadsFolder = Path.Combine(_hostingEnvironment.WebRootPath, "RelatoArquivo");
                            string extension     = Path.GetExtension(item.FileName);
                            uniqueFileName = Guid.NewGuid().ToString() + extension;
                            var    realName = item.GetFilename();
                            string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                            item.CopyTo(new FileStream(filePath, FileMode.Create));

                            listRelatoArquivo.Add(new RelatoArquivoDto {
                                NomeArquivo = uniqueFileName, Arquivo = realName, Caminho = "RelatoArquivo"
                            });
                        }
                    }

                    var command = new CreateRelatoCommand
                    {
                        CodUnidadeInfraestrutura  = int.Parse(collection["ddlUnidadeInfraestrutura"].ToString()),
                        DatOcorrencia             = collection["DtOcorrencia"].ToString(),
                        HorOcorrencia             = collection["HorOcorrencia"].ToString(),
                        DscEnvolvidosOcorrencia   = collection["DscEnvolvidosOcorrencia"].ToString(),
                        DscLocalOcorrenciaRelator = collection["DscLocalOcorrenciaRelator"].ToString(),
                        DscOcorrenciaRelator      = collection["DscOcorrenciaRelator"].ToString(),
                        DscRelato            = collection["DscOcorrenciaRelator"].ToString(),
                        NomRelator           = collection["NomRelator"].ToString(),
                        EmailRelator         = collection["EmailRelator"].ToString(),
                        CodUsuarioAtribuidor = User.FindFirst(ClaimTypes.NameIdentifier).Value,
                        //Rn0079
                        NumTelefoneRelator = Criptografia.Encriptar(collection["NumTelefoneRelator"].ToString()),
                        NomEmpresaRelator  = collection["NomEmpresaRelator"].ToString(),
                        ListRelatoArquivo  = listRelatoArquivo,
                        //Rn0033
                        FlgStatusRelato     = (int)EnumStatusRelato.NaoIniciado,
                        DscOcorrenciaStatus = EnumStatusRelato.NaoIniciado.GetDescription() + ", " + DateTime.Now.ToString("dd/MM/yyyy") + ", " + DateTime.Now.ToString("hh:mm"),
                        CriadoPor           = User.Identity.Name
                    };

                    var idRelato = await ApiClientFactory.Instance.CreateRelato(command);

                    //Rn0064
                    var listAtribuicaoSgso = ApiClientFactory.Instance.GetAtribuicaoByIdRelato(Convert.ToInt32(idRelato));
                    if (listAtribuicaoSgso.Count > 0)
                    {
                        foreach (var atribuicao in listAtribuicaoSgso)
                        {
                            await SendRn0064Email(atribuicao);
                        }
                    }


                    //Rn0065
                    if (!string.IsNullOrEmpty(command.EmailRelator))
                    {
                        await SendRn0065Email(idRelato);
                    }

                    return(RedirectToAction(nameof(Index), new { crud = (int)EnumCrud.Created }));
                }
                else
                {
                    return(RedirectToAction(nameof(Index), new { notify = (int)EnumNotify.Error, message = "Google ReCaptch validação FALHOU!" }));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction(nameof(Index), new { crud = (int)EnumCrud.Created }));
            }
        }