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"); })); }
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"); })); }