예제 #1
0
        public void Update(int id, ProcesoRequest request)
        {
            var proceso = this.procesoRepositorio.ListarUno(x => x.id == id);

            var personas = Mapper.Map <List <RzProcuraduriaRequest>, List <RZ_procuraduria> >(request.personas);

            var resoluciones = Mapper.Map <List <ResolimpugnadaxprocesoRequest>, List <RESOLIMPUGNADAXPROCESO> >(request.resoluciones);

            var plantas = Mapper.Map <List <PlantaxprocesoRequest>, List <PLANTAXPROCESO> >(request.plantas);

            var embarcaciones = Mapper.Map <List <EmbxprocesoRequest>, List <EMBXPROCESO> >(request.embarcaciones);

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    proceso.sector = request.sector;
                    proceso.id_opd = request.id_opd;
                    proceso.id_tipo_responsabilidad = request.id_tipo_responsabilidad;
                    proceso.ID_ABOGADO        = request.id_abogado;
                    proceso.ID_ETAPA_PROCESAL = request.id_etapa_procesal;
                    proceso.fecVenc           = request.fecvenc;
                    proceso.auditmod          = DateTime.Now;
                    this.procesoRepositorio.Actualizar(proceso);
                    this.unitOfWork.Guardar();
                    scope.Complete();
                }
            }
            catch (Exception e)
            {
                Abort(500, "Ocurrió un error interno", null, e);
            }
        }
 public ActionResult Put(int id, ProcesoRequest request, UserInformation user)
 {
     return(this.TryCatch(() =>
     {
         var esProcurador = user.MiAplicacion.Exists(x => x.NombreRol == "Procurador");
         this.procesoService.CanUpdateProceso(id, user.Id, esProcurador);
         request.usuario = user.UserName;
         if (request.personas != null)
         {
             request.personas.ForEach(x => { x.usuario = user.UserName; });
         }
         if (request.plantas != null)
         {
             request.plantas.ForEach(x => { x.usuario = user.UserName; });
         }
         if (request.embarcaciones != null)
         {
             request.embarcaciones.ForEach(x => { x.usuario = user.UserName; });
         }
         if (request.resoluciones != null)
         {
             request.resoluciones.ForEach(x => { x.usuario = user.UserName; });
         }
         this.procesoService.Update(id, request);
         return this.JsonResponse(true, 200, "Proceso actualizado");
     }));
 }
예제 #3
0
        public void Save(ProcesoRequest request)
        {
            var proceso = Mapper.Map <ProcesoRequest, PROCESO>(request);

            var personas = Mapper.Map <List <RzProcuraduriaRequest>, List <RZ_procuraduria> >(request.personas);

            var resoluciones = Mapper.Map <List <ResolimpugnadaxprocesoRequest>, List <RESOLIMPUGNADAXPROCESO> >(request.resoluciones);

            var plantas = Mapper.Map <List <PlantaxprocesoRequest>, List <PLANTAXPROCESO> >(request.plantas);

            var embarcaciones = Mapper.Map <List <EmbxprocesoRequest>, List <EMBXPROCESO> >(request.embarcaciones);

            var proceso_instancia_documentos = Mapper.Map <List <DatProcesoInstanciaDocumentoRequest>, List <DAT_PROCESO_INSTANCIA_DOCUMENTO> >(request._instancia.documentos);

            var proceso_instancia = this.MapProcesoInstanciaForSave(request._instancia);

            var proceso_plazo = this.MapProcesoPlazoForSave(request._instancia, request.id_abogado);

            var validation = proceso.ValidateNew(personas, proceso_instancia, proceso_plazo);

            if (!validation.IsValid)
            {
                this.Abort(406, "Complete los campos requeridos", validation.errors);
            }

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    proceso_instancia   = this.FillProcesoInstanciaForSave(proceso_instancia, proceso_plazo, proceso_instancia_documentos);
                    proceso.id          = this.GenerateNewIdProceso();
                    proceso.correlativo = this.procesoRepositorio.Get_correlativo(proceso.materia.Value);
                    proceso.auditmod    = DateTime.Now;
                    proceso.DAT_PROCESO_INSTANCIA.Add(proceso_instancia);
                    this.procesoRepositorio.Insertar(proceso);
                    this.unitOfWork.Guardar();
                    this.detailProcesoService.SavePersonas(personas, proceso.id);
                    this.detailProcesoService.SaveEmbarcaciones(embarcaciones, proceso.id);
                    this.detailProcesoService.SavePlantas(plantas, proceso.id);
                    this.unitOfWork.Guardar();
                    scope.Complete();
                }
                this.detailProcesoService.SaveResoluciones(resoluciones, proceso.id);
                this.unitOfWork.Guardar();
            }
            catch (Exception e)
            {
                Abort(500, "Ocurrió un error interno", null, e);
            }
        }
        public ActionResult Post(ProcesoRequest request, UserInformation user)
        {
            //request.usu_transaccion = user.UserName;
            request.usuario = user.UserName;
            if (request.personas != null)
            {
                request.personas.ForEach(x => { x.usuario = user.UserName; });
            }
            if (request.plantas != null)
            {
                request.plantas.ForEach(x => { x.usuario = user.UserName; });
            }
            if (request.embarcaciones != null)
            {
                request.embarcaciones.ForEach(x => { x.usuario = user.UserName; });
            }
            if (request.resoluciones != null)
            {
                request.resoluciones.ForEach(x => { x.usuario = user.UserName; });
            }

            return(this.TryCatch(() =>
            {
                this.procesoService.Save(request);
                if (request._instancia != null && request._instancia.documentos != null)
                {
                    request._instancia.documentos.ForEach(doc =>
                    {
                        if (!string.IsNullOrEmpty(doc.archivo))
                        {
                            this.MoveFileInstancia(doc.archivo);
                        }
                    });
                }

                return this.JsonResponse(true, 200, "Proceso guardado");
            }));
        }