Example #1
0
        public ActionResult GetReport()
        {
            try
            {
                var currentUser = Session["currentUser"];

                if (currentUser != null)
                {
                    DTOUsuario user = (DTOUsuario)currentUser;
                    if (user.Organizacion != null && user.Organizacion.Id != "")
                    {
                        var         temp_fecha_inicio = Request["fecha_inicio"];
                        var         temp_fecha_fin    = Request["fecha_fin"];
                        var         company           = Request["company"];
                        CultureInfo provider          = CultureInfo.InvariantCulture;
                        DateTime    fecha_inicio      = DateTime.Now;
                        DateTime    fecha_fin         = DateTime.Now;

                        var idOrganizacion          = company != null ? company : user.Organizacion.Id;
                        var reporte                 = Request["nombreReporte"];
                        ISynchronizationManager syn = new SynchronizationManager();
                        Request request             = new Request();
                        request.Method = "GET";
                        string url_temporal = "";
                        url_temporal = GetReporteURL(reporte, url_temporal);

                        string[] words = temp_fecha_inicio.Split('/');
                        string   init  = words[2] + "-" + words[0] + "-" + words[1];

                        string[] words2 = temp_fecha_fin.Split('/');
                        string   finit  = words2[2] + "-" + words2[0] + "-" + words2[1];

                        //CAC.Library.Utilities.IOUtilities.WriteLog($"sys:\t{DateTime.Now}\tincome:\t{temp_fecha_inicio}\toutput:\t{init}\tincome_ent:\t{temp_fecha_fin}\toutput_end:\t{finit}", "Audit", "dates_audit.txt");

                        //request.Url = $@"{url_temporal}?fechaIni={fechaIni}&fechaFin={fechaFin}&idOrganizacion={idOrganizacion}";
                        request.Url         = $@"{url_temporal}?fechaIni={init}&fechaFin={finit}&idOrganizacion={idOrganizacion}";
                        request.ContentType = "application/json";
                        Response response = syn.GetRequest(request);
                        if (response.TextResponse.Contains("Mes") && !response.TextResponse.Contains("Exception"))
                        {
                            return(Json(new JsonResponse()
                            {
                                status = "SERVER_OK", content = response.TextResponse
                            }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json(new JsonResponse()
                            {
                                status = "NOT_OK", content = response.TextResponse
                            }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        return(Json(new JsonResponse()
                        {
                            status = "NOT_OK", content = "El usuario actual no posee una organización válida para generar el reporte."
                        }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    return(RedirectToAction("Index", "Admin"));
                }
            }
            catch (Exception ex)
            {
                return(Json(new JsonResponse()
                {
                    status = "NOT_OK", content = ex.ToString()
                }, JsonRequestBehavior.AllowGet));
            }
        }