示例#1
0
        public async Task <ActionResult <ExpedienteDocumentoSIDTO> > RegistrarDocumentoSolicitudInicial(ExpedienteWrapper expedienteWrapper)
        {
            //Obtenemos los datos del expedientewrapper
            SolicitudInicialDTO doc = new SolicitudInicialDTO();
            var json = JsonConvert.SerializeObject(expedienteWrapper.documento);

            doc = JsonConvert.DeserializeObject <SolicitudInicialDTO>(json);

            List <string> url2     = new List <string>();
            string        urlData2 = "";

            foreach (string u in doc.contenidoDTO.Urlanexo)
            {
                if (!string.IsNullOrWhiteSpace(u))
                {
                    var solicitudBytes2 = Convert.FromBase64String(u);
                    urlData2 = await _almacenadorDeDocs.saveDoc(solicitudBytes2, "pdf", "solicitudesiniciales");

                    url2.Add(urlData2);
                }
            }

            //Creacionde Obj y almacenamiento en la coleccion documento
            ContenidoSolicitudInicial contenidoDTOInicial = new ContenidoSolicitudInicial()
            {
                titulo      = doc.contenidoDTO.titulo,
                descripcion = doc.contenidoDTO.descripcion,
            };

            SolicitudInicial soliInicial = new SolicitudInicial()
            {
                tipo               = "SolicitudInicial",
                contenido          = contenidoDTOInicial,
                estado             = "pendiente",
                urlanexo           = url2,
                historialcontenido = new List <ContenidoVersion>(),
                historialproceso   = new List <Proceso>()
            };

            soliInicial = _documentoservice.registrarSolicitudInicial(soliInicial);

            //Creacionde del Obj. Expediente de Denuncia y registro en coleccion de expedientes
            Cliente cliente = new Cliente()
            {
                nombre          = doc.nombrecliente,
                tipodocumento   = doc.tipodocumento,
                numerodocumento = doc.numerodocumento
            };
            Expediente expediente = new Expediente();

            expediente.tipo        = "Solicitud";
            expediente.cliente     = cliente;
            expediente.fechainicio = DateTime.UtcNow.AddHours(-5);
            expediente.fechafin    = null;
            expediente.documentos  = new List <DocumentoExpediente>()
            {
                new DocumentoExpediente()
                {
                    indice        = 1,
                    iddocumento   = soliInicial.id,
                    tipo          = "SolicitudInicial",
                    fechacreacion = DateTime.UtcNow.AddHours(-5),
                    fechaexceso   = DateTime.UtcNow.AddHours(-5).AddDays(10),
                    fechademora   = null
                }
            };
            expediente.derivaciones = new List <Derivacion>();
            expediente.estado       = "solicitado";
            expediente = _expedienteservice.saveExpediente(expediente);

            _bandejaService.InsertarBandejaEntradaUsuario(expediente.id, soliInicial.id, "josue");

            Asistente asistente = new Asistente();

            asistente.idexpediente           = expediente.id;
            asistente.pasos                  = new PasoAsistente();
            asistente.pasos.nombreexpediente = "Solicitud";

            await asistenteService.Create(asistente);

            ExpedienteDocumentoSIDTO expedienteDocumentoSIDTO = new ExpedienteDocumentoSIDTO();

            expedienteDocumentoSIDTO.expediente = expediente;
            expedienteDocumentoSIDTO.solicitudI = soliInicial;

            return(expedienteDocumentoSIDTO);
        }