Exemple #1
0
        public async Task <IActionResult> Create(FlujoAprobacion FlujoAprobacion)
        {
            if (!ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(FlujoAprobacion));
            }
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(FlujoAprobacion,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/FlujosAprobacion/InsertarFlujoAprobacion");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un flujo de aprobación",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "flujo de Aprobación:", FlujoAprobacion.IdFlujoAprobacion),
                    });

                    return(RedirectToAction("Index"));
                }

                ViewData["Error"] = response.Message;
                ViewData["IdTipoAccionPersonal"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar <TipoAccionPersonal>(new Uri(WebApp.BaseAddress), "api/TiposAccionesPersonales/ListarTiposAccionesPersonales"), "IdTipoAccionPersonal", "Nombre");
                ViewData["IdEmpleado"]           = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar <ListaEmpleadoViewModel>(new Uri(WebApp.BaseAddress), "api/Empleados/ListarEmpleados"), "IdEmpleado", "NombreApellido");


                return(View(FlujoAprobacion));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando un flujo de aprobación",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Exemple #2
0
        public async Task <IActionResult> Edit(string id, FlujoAprobacion FlujoAprobacion)
        {
            Response response = new Response();

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    response = await apiServicio.EditarAsync(id, FlujoAprobacion, new Uri(WebApp.BaseAddress),
                                                             "api/FlujosAprobacion");

                    if (response.IsSuccess)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                            EntityID             = string.Format("{0} : {1}", "Flujo de Aprobación", id),
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                            Message  = "Se ha actualizado un flujo de aprobación",
                            UserName = "******"
                        });

                        return(RedirectToAction("Index"));
                    }
                    ViewData["Error"] = response.Message;

                    ViewData["IdTipoAccionPersonal"] = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar <TipoAccionPersonal>(new Uri(WebApp.BaseAddress), "api/TiposAccionesPersonales/ListarTiposAccionesPersonales"), "IdTipoAccionPersonal", "Nombre");
                    ViewData["IdEmpleado"]           = new Microsoft.AspNetCore.Mvc.Rendering.SelectList(await apiServicio.Listar <ListaEmpleadoViewModel>(new Uri(WebApp.BaseAddress), "api/Empleados/ListarEmpleados"), "IdEmpleado", "NombreApellido");


                    return(View(FlujoAprobacion));
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando un flujo de aprobación",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
        public async Task <Response> PutFlujoAprobacion([FromRoute] int id, [FromBody] FlujoAprobacion flujoAprobacion)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var modelo = new FlujoAprobacion
                {
                    IdFlujoAprobacion    = flujoAprobacion.IdFlujoAprobacion,
                    IdTipoAccionPersonal = flujoAprobacion.IdTipoAccionPersonal,
                    IdSucursal           = flujoAprobacion.IdSucursal,
                    IdManualPuesto       = flujoAprobacion.IdManualPuesto,
                    ApruebaJefe          = flujoAprobacion.ApruebaJefe
                };

                if (modelo.ApruebaJefe == true)
                {
                    modelo.IdManualPuesto = null;
                }
                else if
                (
                    modelo.ApruebaJefe == false
                    &&
                    (modelo.IdManualPuesto == null || modelo.IdManualPuesto < 1)

                )
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ErrorFlujoAprobacionSeleccion
                    });
                }



                var existe = await db.FlujoAprobacion
                             .Where(w =>
                                    w.IdSucursal == modelo.IdSucursal &&
                                    w.IdManualPuesto == modelo.IdManualPuesto &&
                                    w.IdTipoAccionPersonal == modelo.IdTipoAccionPersonal &&
                                    w.ApruebaJefe == modelo.ApruebaJefe
                                    ).FirstOrDefaultAsync();


                if (existe == null || existe != null && existe.IdFlujoAprobacion == flujoAprobacion.IdFlujoAprobacion)
                {
                    var modeloFlujoAprobacion = await db.FlujoAprobacion
                                                .Where(w => w.IdFlujoAprobacion == flujoAprobacion.IdFlujoAprobacion)
                                                .FirstOrDefaultAsync();

                    modeloFlujoAprobacion.IdTipoAccionPersonal = modelo.IdTipoAccionPersonal;
                    modeloFlujoAprobacion.IdSucursal           = modelo.IdSucursal;
                    modeloFlujoAprobacion.IdManualPuesto       = modelo.IdManualPuesto;
                    modeloFlujoAprobacion.ApruebaJefe          = modelo.ApruebaJefe;

                    db.FlujoAprobacion.Update(modeloFlujoAprobacion);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.GuardadoSatisfactorio,
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Excepcion,
                });
            }
        }
        public async Task <IActionResult> Edit(string id, FlujoAprobacion FlujoAprobacion)
        {
            Response response = new Response();

            try
            {
                if (!ModelState.IsValid)
                {
                    this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{Mensaje.ModeloInvalido}|{"10000"}";

                    // Se vuelven a cargar los combos para generar la vista
                    await InicializarCombos();

                    var filtro = new IdFiltrosViewModel {
                        IdSucursal = FlujoAprobacion.IdSucursal
                    };

                    var lista = await apiServicio.ObtenerElementoAsync1 <List <ManualPuesto> >(
                        filtro,
                        new Uri(WebApp.BaseAddress),
                        "api/ManualPuestos/ListarManualPuestoPorSucursal");

                    ViewData["ManualPuesto"] = new SelectList(lista, "IdManualPuesto", "Nombre");


                    return(View(FlujoAprobacion));
                }


                if (!string.IsNullOrEmpty(id))
                {
                    response = await apiServicio.EditarAsync(id, FlujoAprobacion, new Uri(WebApp.BaseAddress),
                                                             "api/FlujosAprobacion");

                    if (response.IsSuccess)
                    {
                        return(this.Redireccionar(
                                   "FlujosAprobacion",
                                   "Index",
                                   $"{Mensaje.Success}|{response.Message}"
                                   ));
                    }

                    this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"10000"}";

                    // Se vuelven a cargar los combos para generar la vista
                    await InicializarCombos();

                    var filtro = new IdFiltrosViewModel {
                        IdSucursal = FlujoAprobacion.IdSucursal
                    };

                    var lista = await apiServicio.ObtenerElementoAsync1 <List <ManualPuesto> >(
                        filtro,
                        new Uri(WebApp.BaseAddress),
                        "api/ManualPuestos/ListarManualPuestoPorSucursal");

                    ViewData["ManualPuesto"] = new SelectList(lista, "IdManualPuesto", "Nombre");


                    return(View(FlujoAprobacion));
                }

                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }