using System; using System.Linq; using System.Web.Mvc; using ULA.Cathay.Credito.Commons; using System.Configuration; using System.Web; using Newtonsoft.Json; using System.Web.Configuration; using System.Collections.Generic; using Ultimus.Utilitarios; using Ultimus.Interfaces.UltimusForm; using Ultimus.Interfaces; using System.Data.Entity.Validation; using System.Data.Entity; using ULA.Cathay.CreditoModel.DAL.Credito; namespace ULA.Cathay.Credito.Controllers { public class HomeController : BaseController { public ActionResult Index() { Ultimus.Utilitarios.UltimusLogs log = new UltimusLogs("HomeController"); ActionResult ret = null; try { LeerTarea(); if (Tarea != null) { string QueryString = "{0}?"; QueryString = string.Concat(QueryString, "UserID={1}"); QueryString = string.Concat(QueryString, "&TaskID={2}"); QueryString = string.Concat(QueryString, "&Process={3}"); QueryString = string.Concat(QueryString, "&Step={4}"); QueryString = string.Concat(QueryString, "&Incident={5}"); QueryString = string.Concat(QueryString, "&JobFunction={6}"); QueryString = string.Concat(QueryString, "&UserFullName={7}"); QueryString = string.Concat(QueryString, "&UserEmail={8}"); QueryString = string.Concat(QueryString, "&Supervisor={9}"); QueryString = string.Concat(QueryString, "&SupervisorFullName={10}"); QueryString = string.Concat(QueryString, "&TaskStatus={11}"); QueryString = string.Concat(QueryString, "&Version={12}"); QueryString = string.Concat(QueryString, "&TaskUser={13}"); QueryString = string.Concat(QueryString, "&AssignedToUser={14}"); List Menulist = new UltimusFormAPIController().ObtenerFormularios(Tarea.Process, Tarea.Step); Crypt crypt = new Crypt(); string url = string.Format(QueryString, Menulist.FirstOrDefault().FormPath, crypt.EncryptString(Tarea.User), crypt.EncryptString(Tarea.TaskId), crypt.EncryptString(Tarea.Process), crypt.EncryptString(Tarea.Step), crypt.EncryptString(Tarea.Incident.ToString()), crypt.EncryptString(Tarea.JobFunction), crypt.EncryptString(Tarea.UserFullName), crypt.EncryptString(Tarea.UserEmail), crypt.EncryptString(Tarea.Supervisor), crypt.EncryptString(Tarea.SupervisorFullName), crypt.EncryptString(Tarea.Status.ToString()), crypt.EncryptString(Tarea.Version.ToString()), crypt.EncryptString(TareaNativaUltimus != null ? TareaNativaUltimus.strUser : ""), crypt.EncryptString(TareaNativaUltimus != null ? TareaNativaUltimus.strAssignedToUser : "") ); if (Tarea.Incident != 0 && !url.Contains("sol_co_solicitud")) { SolicitudDAL solicitudDal = new SolicitudDAL(); var solicitud = solicitudDal.Obtener(Tarea.Incident, Tarea.Process); if (solicitud != null) { url = string.Format("{0}&sol_co_solicitud={1}", url, crypt.EncryptString(solicitud.IdSolicitud.ToString() )); } else url = string.Format("{0}&sol_co_solicitud={1}", url,crypt.EncryptString("0")); CargaDatosEncabezado(true); } else if (!url.Contains("sol_co_solicitud")) url = string.Format("{0}&sol_co_solicitud={1}", url, crypt.EncryptString("0")); ret = Redirect(url); } else { throw new Exception("Tarea no encontrada"); } } catch (Exception ex) { log.Error(ex); Session["ErrorGenerico"] = ex.Message + ex.StackTrace; ret = RedirectToAction("Error"); } return ret; } public ActionResult Error() { InitControllers(); return View(); } public ActionResult DatosGenerales() { InitControllers(); return View(); } public string Encrypt(int id) { return new Crypt().EncryptString(id.ToString()); } public ActionResult Logo() { string logo = ConfigurationManager.AppSettings["ULA.LogoClient"].ToString(); string baseclient = ConfigurationManager.AppSettings["ULA.LogoClient.baseclient"].ToString(); var content = System.IO.File.ReadAllBytes(Server.MapPath("~/images/" + logo)); return base.File(content, baseclient); } } }