예제 #1
0
        public async Task <IActionResult> Integrantes(String _ID)
        {
            if (string.IsNullOrEmpty(HttpContext.Session.GetString(SessionKeyNombre)))
            {
                return(PartialView("_Mensaje"));
            }
            else
            {
                GrupoDetalle grupoDetalle = new GrupoDetalle();
                //List<Solicitud> solicitudes = new List<Solicitud>();
                try
                {
                    grupoDetalle = await FireStore.GetGrupoFromFireStore(_ID);

                    if (grupoDetalle.solicitudes.Count > 0)
                    {
                        ViewBag.grupo        = grupoDetalle.grupo;
                        ViewBag.solicitudes  = grupoDetalle.solicitudes;
                        ViewBag.importeTotal = grupoDetalle.solicitudes.Sum(item => item.importe);
                        ViewBag.dictaminable = true;
                        ViewBag.liberable    = true;
                        ViewBag.dictamen     = grupoDetalle.solicitudes[0].dictamen;
                        foreach (Solicitud solicitud in grupoDetalle.solicitudes)
                        {
                            if (solicitud.status != 2 && solicitud.status != 3)
                            {
                                ViewBag.dictaminable = false;
                            }
                            else
                            {
                                ViewBag.liberable = false;
                            }
                        }
                    }
                    else
                    {
                        ViewBag.error = "Grupo sin Integrantes X_X";
                    }
                }
                catch (Exception ex)
                {
                    ViewBag.error = ex.ToString();
                    Log.Information("*****Error Exception DetalleGrupo: {0}", ex.Message);
                }
                return(PartialView("_Integrantes"));
            }
        }
예제 #2
0
        public async Task <IActionResult> RenovaionIntegrantes(String _ID)
        {
            if (string.IsNullOrEmpty(HttpContext.Session.GetString(SessionKeyNombre)))
            {
                return(PartialView("_Mensaje"));
            }
            else
            {
                GrupoDetalle grupoDetalle = new GrupoDetalle();
                //List<Solicitud> solicitudes = new List<Solicitud>();
                try
                {
                    grupoDetalle = await FireStore.GetRenovacionGrupoFromFireStore(_ID);

                    if (grupoDetalle.grupo.mesaControlID == null)
                    {
                        if (!await FireStore.SetRenovacionControlId(_ID, HttpContext.Session.GetString(SessionKeyId), HttpContext.Session.GetString(SessionKeyNombre), true))
                        {
                            throw new Exception("Error al Asignar " + grupoDetalle.grupo.mesaControlUsuario + ".");
                        }
                    }
                    else if (grupoDetalle.grupo.mesaControlID != HttpContext.Session.GetString(SessionKeyId) && grupoDetalle.grupo.status == 2)
                    {
                        throw new Exception("Este grupo ya esta siendo atendido por " + grupoDetalle.grupo.mesaControlUsuario + ".");
                    }
                    if (grupoDetalle.solicitudes.Count > 0)
                    {
                        ViewBag.grupo        = grupoDetalle.grupo;
                        ViewBag.solicitudes  = grupoDetalle.solicitudes;
                        ViewBag.importeTotal = grupoDetalle.solicitudes.Sum(item => item.importe);
                        ViewBag.dictaminable = true;
                        ViewBag.liberable    = true;
                        ViewBag.dictamen     = grupoDetalle.solicitudes[0].dictamen;
                        foreach (Solicitud solicitud in grupoDetalle.solicitudes)
                        {
                            if (solicitud.status != 2 && solicitud.status != 3)
                            {
                                ViewBag.dictaminable = false;
                            }
                            if (solicitud.documentos != null)
                            {
                                if (solicitud.documentos.Where(doc => doc.version != 1).Count() > 0)
                                {
                                    ViewBag.liberable = false;
                                }
                            }
                        }
                        if (grupoDetalle.solicitudes.Where(sol => sol.status != 1).Count() > 0)
                        {
                            ViewBag.liberable = false;
                        }
                        if (grupoDetalle.solicitudes.Where(sol => sol.mesaControlID == null).Count() > 0)
                        {
                            await FireStore.SetControlId(_ID, HttpContext.Session.GetString(SessionKeyId), HttpContext.Session.GetString(SessionKeyNombre), true);
                        }
                    }
                    else
                    {
                        ViewBag.error = "Grupo sin Integrantes X.X";
                    }
                }
                catch (Exception ex)
                {
                    ViewBag.error = ex.ToString();
                    Log.Information("*****Error Exception DetalleGrupo: {0}", ex.Message);
                }
                return(PartialView("_Integrantes"));
            }
        }