public void FinalizaInstancia(FormFinalizacionRequest request, int id_proceso_instancia)
        {
            var proceso_instancia = this.procesoInstanciaRepositorio.ListarUno(x => x.id_proceso_instancia == id_proceso_instancia);

            if (proceso_instancia == null)
            {
                this.Abort(404, "Recurso no encontrado");
            }

            try
            {
                proceso_instancia.cantidad_final      = request.cantidad;
                proceso_instancia.fecha_finalizacion  = request.fecha_finalizacion;
                proceso_instancia.tipo_finalizacion   = request.tipo_finalizacion;
                proceso_instancia.motivo_finalizacion = request.motivo;
                proceso_instancia.estado = "1";
                proceso_instancia.DAT_PROCESO_PLAZO.ToList().ForEach(x =>
                {
                    if (string.IsNullOrEmpty(x.estado))
                    {
                        x.estado      = "1";
                        x.anotacion   = request.motivo;
                        x.fecha_final = request.fecha_finalizacion;
                    }
                });
                this.procesoInstanciaRepositorio.Actualizar(proceso_instancia);
                this.unitOfWork.Guardar();
            }
            catch (Exception e)
            {
                Abort(500, "Ocurrió un error interno", null, e);
            }
        }
 public ActionResult FinalizarInstancia(int id, int id_proceso_instancia, FormFinalizacionRequest request, UserInformation user)
 {
     return(this.TryCatch(() =>
     {
         var esProcurador = user.MiAplicacion.Exists(x => x.NombreRol == "Procurador");
         this.procesoService.CanUpdateProceso(id, user.Id, esProcurador);
         this.detailProcesoService.FinalizaInstancia(request, id_proceso_instancia);
         var instancias = this.detailProcesoService.ListarInstancias(id);
         return this.JsonResponse(true, 200, "Se finalizó la instancia", new { instancias });
     }));
 }
Exemplo n.º 3
0
        public void Finalizar(int id, FormFinalizacionRequest request)
        {
            var proceso = this.procesoRepositorio.ListarUno(x => x.id == id);

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    proceso.ESTADO_PROCESO          = 1;
                    proceso.ESTADO_ARCHIVAMIENTO    = request.estado_archivamiento;
                    proceso.TIPO_FINALIZACION       = Convert.ToInt32(request.tipo_finalizacion);
                    proceso.RESOLUCION_FINALIZACION = request.resolucion;
                    proceso.FECHA_FINALIZACION      = request.fecha_finalizacion.Value.ToString("dd/MM/yyyy");
                    proceso.MOTIVO_FINALIZACION     = request.motivo;
                    proceso.MONTO_FINALIZACION      = request.cantidad;
                    proceso.AUDIT_FINALIZACION      = DateTime.Now;
                    proceso.ID_TIPO_MONTO           = request.id_tipo_monto;
                    proceso.USUARIO_FINALIZACION    = request.usuario;

                    proceso.DAT_PROCESO_INSTANCIA.ToList().ForEach(x =>
                    {
                        if (string.IsNullOrEmpty(x.estado))
                        {
                            x.estado              = "1";
                            x.fecha_finalizacion  = request.fecha_finalizacion;
                            x.tipo_finalizacion   = request.estado_archivamiento.ToString();
                            x.cantidad_final      = request.cantidad;
                            x.motivo_finalizacion = request.motivo;
                            x.DAT_PROCESO_PLAZO.ToList().ForEach(p =>
                            {
                                if (string.IsNullOrEmpty(p.estado))
                                {
                                    p.estado      = "1";
                                    p.anotacion   = request.motivo;
                                    p.fecha_final = request.fecha_finalizacion;
                                }
                            });
                        }
                    });

                    this.unitOfWork.Guardar();
                    scope.Complete();
                }
            }
            catch (Exception e)
            {
                Abort(500, "Ocurrió un error interno", null, e);
            }
        }
        public ActionResult Finalizar(int id, FormFinalizacionRequest request, UserInformation user)
        {
            return(this.TryCatch(() =>
            {
                if (!user.MiAplicacion.Exists(x => x.NombreRol == "Procurador"))
                {
                    Response.StatusCode = 401;
                    return this.JsonResponse(true, 401, "No está autorizado para realizar esta acción");
                }

                request.usuario = user.UserName;
                this.procesoService.Finalizar(id, request);
                return this.JsonResponse(true, 200, "Proceso Finalizado");
            }));
        }