示例#1
0
        public ActionResult Obtener(string id)
        {
            try
            {
                ProyectoRepository     pr  = new ProyectoRepository();
                SolicitudRepository    sr  = new SolicitudRepository();
                ResponsableRepository  rr  = new ResponsableRepository();
                TipoProyectoRepository tpr = new TipoProyectoRepository();
                AmbienteRepository     ar  = new AmbienteRepository();

                ProyectoView pv = new ProyectoView();
                pv.UsuarioLogueado = ObtenerUsuario();
                pv.Mensaje         = "";
                Proyecto p = pr.Obtener(id);
                pv.Proyecto      = p;
                pv.Responsables  = rr.Listar(String.Empty);
                pv.TipoProyectos = tpr.Listar(String.Empty);
                p.Solicitudes    = sr.ListarPorProyecto(p.Id);
                pv.Ambientes     = ar.Listar(String.Empty);
                p.Correos        = pr.ListarCorreo(p);
                return(View("Obtener", pv));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new ProyectoView {
                    Mensaje = ex.Message
                }));
            }
        }
示例#2
0
        public JsonResult listarsol(string id)
        {
            var pr            = new ProyectoRepository();
            var solPendientes = pr.ListarPendientes(int.Parse(id));

            return(Json(solPendientes, JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult Index(ProyectoView pcv)
        {
            try
            {
                string codigoProyecto        = Request.Form["txtCodigoProyecto"];
                string nombreProyecto        = Request.Form["txtNombreProyecto"];
                string pm                    = Request.Form["txtPm"];
                string ptl                   = Request.Form["txtPtl"];
                char   estado                = Request.Form["cboEstadoProyecto"].ToCharArray()[0];
                int    responsableId         = int.Parse(Request.Form["cboResponsable"]);
                bool   mejora                = Request.Form["chkMejora"] == "on";
                string impacto               = mejora ? Request.Form["txtImpacto"] : String.Empty;
                int    tipoProyectoId        = int.Parse(Request.Form["cboTipoProyecto"]);
                string txtCodigoPresupuestal = Request.Form["txtCodigoPresupuestal"];
                string txtCodigoAlterno      = Request.Form["txtCodigoAlterno"];

                ProyectoRepository pr        = new ProyectoRepository();
                List <Proyecto>    proyectos = pr.Listar(codigoProyecto, nombreProyecto, pm, ptl, estado, responsableId, mejora, impacto, tipoProyectoId, txtCodigoPresupuestal, txtCodigoAlterno);

                pcv.Proyecto                    = new Proyecto();
                pcv.Proyecto.Codigo             = codigoProyecto;
                pcv.Proyecto.Nombre             = nombreProyecto;
                pcv.Proyecto.Pm                 = pm;
                pcv.Proyecto.Ptl                = ptl;
                pcv.Proyecto.Estado             = estado;
                pcv.Proyecto.Mejora             = mejora;
                pcv.Proyecto.Impacto            = impacto;
                pcv.Proyecto.CodigoPresupuestal = txtCodigoPresupuestal;
                pcv.Proyecto.CodigoAlterno      = txtCodigoAlterno;
                pcv.Proyectos                   = proyectos;

                ResponsableRepository  rr  = new ResponsableRepository();
                TipoProyectoRepository tpr = new TipoProyectoRepository();

                pcv.Proyecto.Responsable  = rr.Obtener(responsableId);
                pcv.Proyecto.TipoProyecto = tpr.Obtener(tipoProyectoId);

                pcv.Responsables  = rr.Listar(String.Empty);
                pcv.TipoProyectos = tpr.Listar(String.Empty);
                string mensaje = "";
                if (proyectos.Count == 0)
                {
                    mensaje = "No existen Proyectos para el criterio de búsqueda";
                }
                pcv.Mensaje = mensaje;

                return(View(pcv));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new ProyectoView {
                    Mensaje = ex.Message
                }));
            }
        }
示例#4
0
        static int Listar()
        {
            GerenteRepository  gerenteRepository  = new GerenteRepository();
            ValorRepository    valorRepository    = new ValorRepository();
            FactorRepository   factorRepository   = new FactorRepository();
            ProyectoRepository proyectoRepository = new ProyectoRepository();

            try
            {
                var gerentes  = gerenteRepository.GetAll();
                var valores   = valorRepository.GetAll();
                var factores  = factorRepository.GetAll();
                var proyectos = proyectoRepository.GetAll();

                Console.WriteLine("Listado de Gerentes:");
                for (int i = 0; i < gerentes.Count(); i++)
                {
                    Console.WriteLine("Gerente Numero " + (int)(i + 1));
                    Console.WriteLine("Nombre: " + gerentes[i].Nombre);
                }

                Console.WriteLine("Listado de Valores:");
                for (int i = 0; i < valores.Count(); i++)
                {
                    Console.WriteLine("Valor Numero " + (int)(i + 1));
                    Console.WriteLine("Nombre: " + valores[i].Nombre + " y su Influencia es: " + valores[i].Influencia);
                }

                Console.WriteLine("Listado de Factores:");
                for (int i = 0; i < factores.Count(); i++)
                {
                    Console.WriteLine("Factor Numero " + (int)(i + 1));
                    Console.WriteLine("Nombre: " + factores[i].Nombre);
                }

                Console.WriteLine("Listado de Proyectos:");
                for (int i = 0; i < proyectos.Count(); i++)
                {
                    Console.WriteLine("Proyecto Numero " + (int)(i + 1));
                    Console.WriteLine("Nombre: " + proyectos[i].Nombre + ", su fecha es: " + proyectos[i].Fecha + ", y su Caracterizacion es: " + proyectos[i].Caracterizacion);
                }

                return(1);
            }
            catch (Exception e)
            {
                var log = new Logger();
                log.WriteLog(e.ToString());
                return(0);
            }
        }
示例#5
0
        public JsonResult ObtenerEventos(string start, string end, string ambienteId)
        {
            //var objeto = new { title = "N_SD00039390", start = "2015-07-27", end = "2015-07-27" };
            var fechaDesde = ObtenerFecha(start);
            var fechaHasta = ObtenerFecha(end);
            var pr         = new ProyectoRepository();
            var lista      = pr.ListarFechaPases(int.Parse(ambienteId), fechaDesde, fechaHasta);
            var objetos    = from l in lista
                             select new { title           = l.Proyecto.Codigo, start = l.FechaPase.ToString("yyyy-MM-dd"), end = l.FechaPase.ToString("yyyy-MM-dd"), tip = l.Proyecto.Nombre,
                                          backgroundColor = (l.TipoEvento == TipoEvento.Programado?"#3A87AD":"#FF724D") };

            //object[] objetos = { objeto, objeto,objeto,objeto,objeto };
            return(Json(objetos, JsonRequestBehavior.AllowGet));
            //throw new NotImplementedException();
        }
示例#6
0
        public JsonResult ListarCertificado(string proyectoid, string ambienteid)
        {
            if (!String.IsNullOrEmpty(proyectoid) && !String.IsNullOrEmpty(ambienteid))
            {
                ProyectoRepository         pr = new ProyectoRepository();
                List <ProyectoCertificado> proyectoCertificados = pr.ListarCertificado(int.Parse(proyectoid), int.Parse(ambienteid));

                object respuesta = new { certificados = proyectoCertificados };

                return(Json(respuesta, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
示例#7
0
        private JsonResult AplicarCertificado(string proyectoid, string ambienteid, bool certificado)
        {
            if (!String.IsNullOrEmpty(proyectoid) && !String.IsNullOrEmpty(ambienteid))
            {
                DateTime fechaHora     = DateTime.Now;
                string   nombreUsuario = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).UserData;
                Usuario  usuario       = new UsuarioRepository().Obtener(nombreUsuario);

                ProyectoRepository pr = new ProyectoRepository();
                pr.ActualizarCertificado(int.Parse(proyectoid), int.Parse(ambienteid), certificado, fechaHora, usuario.Id);
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
示例#8
0
 public ActionResult ListarReversion()
 {
     try
     {
         ProyectoView       pv        = new ProyectoView();
         ProyectoRepository pr        = new ProyectoRepository();
         List <Proyecto>    proyectos = pr.ListarReversion();
         pv.Proyectos = proyectos;
         return(View(pv));
     }
     catch (Exception ex)
     {
         ProyectoView pv = new ProyectoView();
         pv.Mensaje = ex.Message;
         return(View("Mensaje", pv));
     }
 }
示例#9
0
        public JsonResult Listar(string id)
        {
            if (id != null)
            {
                ProyectoRepository pr        = new ProyectoRepository();
                List <Proyecto>    proyectos = pr.Listar(id, String.Empty, String.Empty, String.Empty, ' ', 0, false, String.Empty, 0);
                proyectos.ForEach(p =>
                {
                    p.Ambientes = pr.ListarAmbiente(p);
                });
                //string resultado = JsonConvert.SerializeObject(desarrolladores);

                return(Json(proyectos, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
示例#10
0
        static void AddProyecto()
        {
            ProyectoRepository proyectoRepository = new ProyectoRepository();

            // Controlo que no haya valores cargados previamente para que no explote o genere datos repetidos.
            if (proyectoRepository.GetAll().Count == 0)
            {
                var factorRepository = new FactorRepository();
                var factor           = factorRepository.GetAll().FirstOrDefault(); // Selecciono el primer factor de la lista
                // Este GetAll() obtiene solo factores, pero no trae el listado de valores asociados e ValoresSeleccionados
                // ToDo: Modificar el GetAll de este repositorio para que lo haga (Capa de Negocio)

                ValorRepository valorRepository = new ValorRepository();
                // var valorSeleccionado = valorRepository.GetByID(factor.ValoresSeleccionados.FirstOrDefault().ValorId);
                var valorSeleccionado = valorRepository.GetAll().FirstOrDefault();     // Selecciono el primer valor disponible

                var proyectoFactor = new ProyectoFactor();
                var p2             = new List <ProyectoFactor>(0);
                proyectoFactor.Factor            = factor;
                proyectoFactor.ValorSeleccionado = valorSeleccionado;
                p2.Add(proyectoFactor);

                var gerenteRepository = new GerenteRepository();
                var gerente           = gerenteRepository.GetAll().FirstOrDefault();

                var proyecto = new Proyecto();

                proyecto.Nombre          = "Proyecto de Prueba";
                proyecto.Fecha           = DateTime.Today;
                proyecto.Descripcion     = "Este es un proyecto de prueba...";
                proyecto.Caracterizacion = 1;
                proyecto.Gerente         = gerente;
                proyecto.ProyectoFactor  = p2;
                proyectoRepository.Create(proyecto);

                Console.WriteLine("El Proyecto '" + proyecto.Nombre + "' fue agregado con exito, con los siguientes datos:");
                Console.WriteLine("Fecha: " + proyecto.Fecha.ToString());
                Console.WriteLine("Descripcion: " + proyecto.Descripcion);
                Console.WriteLine("Sus Factores son: " + proyecto.ProyectoFactor.FirstOrDefault().Factor.Nombre);
                Console.WriteLine("Y el Valor de su factor es: " + proyecto.ProyectoFactor.FirstOrDefault().ValorSeleccionado.Nombre + " con una influencia de : " + proyecto.ProyectoFactor.FirstOrDefault().ValorSeleccionado.Influencia);
            }
        }
示例#11
0
 public ActionResult Obtener(string id)
 {
     try
     {
         ResponsableView rv = new ResponsableView();
         rv.Mensaje = "";
         ResponsableRepository ar = new ResponsableRepository();
         Responsable           r  = ar.Obtener(int.Parse(id));
         ProyectoRepository    pr = new ProyectoRepository();
         r.Proyectos    = pr.Listar(String.Empty, String.Empty, String.Empty, String.Empty, ' ', r.Id, false, String.Empty, 0);
         rv.Responsable = r;
         return(View("Obtener", rv));
     }
     catch (Exception ex)
     {
         return(View("Mensaje", new ResponsableView {
             Mensaje = ex.Message
         }));
     }
 }
示例#12
0
        static void UpdateProyecto()
        {
            ProyectoRepository proyectoRepository = new ProyectoRepository();

            // Controlo que no haya valores cargados previamente para que no explote o genere datos repetidos.
            var proyectos = proyectoRepository.GetAll();

            if (proyectos.Count == 0)
            {
                Console.WriteLine("No hay proyectos para modificar");
            }
            else
            {
                proyectos[0].Nombre          = "Proyecto de Prueba Modificado";
                proyectos[0].Fecha           = DateTime.Now;
                proyectos[0].Descripcion     = "Este es un proyecto de prueba que se modifico";
                proyectos[0].Caracterizacion = 2;
                proyectoRepository.Update(proyectos[0]);
            }
        }
                                                               public async Task <IHttpActionResult> GetAllOCsSIGCO2()
                                                               {
                                                                   var max = 0;

                                                                   try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                         //SIGCOEntities.
                                                                         //SIGCOEntities sigco = new SIGCOEntities(System.Configuration.ConfigurationManager.ConnectionStrings["SIGCOEntities"].ConnectionString);
                                                                         var queryString = "select *  FROM [SIGCO].[MT].[tOC]";
                                                                         var entities    = await Task.Run(() => { return(CreateCommandSIGCO2(queryString)); });

                                                                         string JSONresult;
                                                                         JSONresult = JsonConvert.SerializeObject(entities);
                                                                         JavaScriptSerializer jss = new JavaScriptSerializer();
                                                                         jss.MaxJsonLength = 5000000;


                                                                         //2097152
                                                                         //3259099
                                                                         var itfv2 = jss.Deserialize <List <ItfV2> >(JSONresult);
                                                                         InformeTecnicoFinal        itf   = new InformeTecnicoFinal();
                                                                         List <InformeTecnicoFinal> lista = new List <InformeTecnicoFinal>();
                                                                         DateTime           actual        = DateTime.Now;
                                                                         DateTime           actualMinus12 = actual.AddYears(-12);
                                                                         ITFgeneral         gral          = null;
                                                                         ProyectoRepository repProy       = new ProyectoRepository();
                                                                         var proyectos = await repProy.GetAllNumerosProyectoTRIM();

                                                                         var proyectosv2 = itfv2.Select(x => x.numProyecto).ToList <String>();

                                                                         var dif = proyectosv2.Except(proyectos);

                                                                         string print = string.Join("','", proyectos.ToArray());
                                                                         TransferenciaRIIEController ctrl = new TransferenciaRIIEController();
                                                                         ctrl.Configuration = new HttpConfiguration();
                                                                         var itfv2ByProyectos = itfv2.FindAll(e => proyectos.Contains(e.numProyecto.Trim()));
                                                                         foreach (var i2 in itfv2ByProyectos)
                                                                         {
                                                                             //if (!String.IsNullOrEmpty(i2.numProyecto))
                                                                             //{
                                                                             //    if (i2.numProyecto.Contains("14342"))
                                                                             //    {
                                                                             //        var xyz = 22;
                                                                             //    }
                                                                             //}

                                                                             if (i2.estadoOC != 1 || String.IsNullOrEmpty(i2.numProyecto) || String.IsNullOrEmpty(i2.resumen))
                                                                             {
                                                                                 continue;
                                                                             }


                                                                             gral = new ITFgeneral();
                                                                             itf  = new InformeTecnicoFinal();
                                                                             try {
                                                                                 itf.InformeTecnicoFinalId  = String.Concat(i2.id, "-", i2.numProyecto.Trim(), "-", i2.idInforme).Trim();
                                                                                 itf.ClasificacionSignatura = i2.clasificacion.Trim();
                                                                                 itf.Titulo           = i2.tituloOC.Trim();
                                                                                 itf.EstadoITFFlujoId = 4;
                                                                                 itf.ProyectoId       = i2.numProyecto.Trim();

                                                                                 itf.idSigco2                  = i2.id;
                                                                                 itf.idInformeRIIE             = i2.idInforme;
                                                                                 itf.ultraConfidencial         = i2.ultraConfidencial;
                                                                                 itf.FechaAutorizacion         = i2.fechaRecepcion;
                                                                                 itf.FechaPublicacion          = i2.fechaCaptura;
                                                                                 itf.ClaveUnidadOrganizacional = i2.idGerencia.Trim();
                                                                                 itf.ClaveUnidadPadre          = i2.idDivision.Trim();

                                                                                 if (itf.FechaPublicacion != null)
                                                                                 {
                                                                                     try {
                                                                                         itf.AnioElaboracion = itf.FechaPublicacion.Value.Year;
                                                                                     }
                                                                                     catch (Exception exY) { }
                                                                                 }
                                                                                 itf.NumInforme = i2.numInforme.Trim();

                                                                                 gral.ITFgeneralId = itf.InformeTecnicoFinalId;
                                                                                 gral.Resumen      = i2.resumen.Trim();
                                                                                 gral.AccesoTipo   = 2;
                                                                                 if (i2.fechaCaptura != null)
                                                                                 {
                                                                                     if (i2.fechaCaptura < actualMinus12)
                                                                                     {
                                                                                         gral.AccesoTipo = 1;
                                                                                     }
                                                                                 }

                                                                                 itf.ITFgeneral = gral;
                                                                             }catch (Exception e) { log.Warn(new MDCSet(this.ControllerContext.RouteData) + "<for>", e); }
                                                                             ctrl.Validate(itf);
                                                                             if (ctrl.ModelState.IsValid)
                                                                             {
                                                                                 lista.Add(itf);
                                                                             }
                                                                             else
                                                                             {
                                                                                 log.Warn(new MDCSet(this.ControllerContext.RouteData), new Exception("!ModelState.IsValid"));
                                                                                 ctrl = new TransferenciaRIIEController();
                                                                                 ctrl.Configuration = new HttpConfiguration();
                                                                                 var foo = "";
                                                                             }
                                                                         }
                                                                         //lista.Add(itf);
                                                                         InformeTFRepository repo = new InformeTFRepository();
                                                                         var fullsave             = await repo.CreateAll(lista);

                                                                         var obj = new
                                                                         {
                                                                             proyectosv2 = proyectosv2,
                                                                             proyectos   = proyectos,
                                                                             dif         = dif,
                                                                             fullsave    = fullsave
                                                                         };
                                                                         return(Ok(obj)); }
                                                                   catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                         e.Source = max + "";
                                                                                         return(InternalServerError(e)); }
                                                               }
 public SoftwarePersonalController()
 {
     _proyectosRepo = new ProyectoRepository();
     _repositoryMt  = new SoftwarePersonalRepository();
 }
 public InformeTecnicoFinalController()
 {
     _proyectosRepo = new ProyectoRepository();
     dbITF          = new InformeTFRepository();
 }
示例#16
0
文件: Util.cs 项目: raulmercadox/cmdb
        public static void EnviarCorreo(Solicitud[] solicitudes, string asunto, string cuerpo, bool incluirSolicitante, bool incluirAnalistaDes, bool incluirAnalistaTest, bool incluirCopiados,
                                        bool incluirRMs, bool incluirCMs, bool incluirEjecutores, bool incluirAdicional)
        {
            try
            {
                SistemaRepository sr        = new SistemaRepository();
                SmtpClient        client    = new SmtpClient();
                string            correoCMS = sr.Obtener().CorreoCMS;
                MailAddress       maDesde   = new MailAddress(correoCMS, "Configuration Management System");
                UsuarioRepository ur        = new UsuarioRepository();

                MailAddressCollection mailsTo  = new MailAddressCollection();
                MailAddressCollection mailsCc  = new MailAddressCollection();
                MailAddressCollection mailsBcc = new MailAddressCollection();

                if (incluirRMs)
                {
                    List <Usuario> rms = ur.Listar(String.Empty, String.Empty, false, false, false, false, true, false, false);
                    foreach (Usuario rm in rms)
                    {
                        if (!String.IsNullOrEmpty(rm.Correo))
                        {
                            mailsBcc = IncluirCorreo(new MailAddress(rm.Correo), mailsBcc);
                        }
                    }
                }

                if (incluirCMs)
                {
                    List <Usuario> cms = ur.Listar(String.Empty, String.Empty, false, false, false, true, false, false, false);
                    foreach (Usuario cm in cms)
                    {
                        if (!String.IsNullOrEmpty(cm.Correo))
                        {
                            mailsBcc = IncluirCorreo(new MailAddress(cm.Correo), mailsBcc);
                        }
                    }
                }

                foreach (Solicitud s in solicitudes)
                {
                    if (incluirSolicitante)
                    {
                        if (!String.IsNullOrEmpty(s.Solicitante.Correo))
                        {
                            mailsCc = IncluirCorreo(new MailAddress(s.Solicitante.Correo), mailsCc);
                        }
                    }
                    if (incluirAnalistaDes)
                    {
                        if (!String.IsNullOrEmpty(s.AnalistaDesarrollo))
                        {
                            mailsCc = IncluirCorreo(new MailAddress(s.AnalistaDesarrollo), mailsCc);
                        }
                    }
                    if (incluirAnalistaTest)
                    {
                        Area[] areas          = Util.ObtenerAreas(s);
                        bool   enviarAnalista = false;
                        foreach (Area area in areas)
                        {
                            if (area.Correos.Count == 0 && area.Id > 0)
                            {
                                enviarAnalista = true;
                                break;
                            }
                        }
                        if (!String.IsNullOrEmpty(s.AnalistaTestProd))
                        {
                            if (enviarAnalista)
                            {
                                mailsTo = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsTo);
                            }
                            else
                            {
                                mailsCc = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsCc);
                            }
                        }
                    }
                    if (incluirCopiados)
                    {
                        string[] copiados = s.CopiarA.Split(new char[] { ';' });
                        foreach (string copia in copiados)
                        {
                            if (!String.IsNullOrEmpty(copia))
                            {
                                mailsCc = IncluirCorreo(new MailAddress(copia), mailsCc);
                            }
                        }
                    }
                    if (incluirEjecutores)
                    {
                        MailAddressCollection correos = ObtenerCorreoEjecutores(s);
                        foreach (MailAddress correo in correos)
                        {
                            mailsTo = IncluirCorreo(correo, mailsTo);
                        }
                    }
                    if (s.Ambiente.EnvioPrimeraSolicitud && Util.EsPrimerEnvio(s))
                    {
                        string[] correos = sr.Obtener().PrimeraSolicitud.Split(new char[] { ';' });
                        foreach (string correo in correos)
                        {
                            if (!String.IsNullOrEmpty(correo))
                            {
                                mailsBcc = IncluirCorreo(new MailAddress(correo), mailsBcc);
                            }
                        }
                    }
                    #region Se incluyen correos configurados a nivel de proyecto
                    var pr = new ProyectoRepository();
                    var proyectocorreos = pr.ListarCorreo(s.Proyecto);
                    foreach (var cor in proyectocorreos)
                    {
                        mailsCc = IncluirCorreo(new MailAddress(cor.Direccion), mailsCc);
                    }
                    #endregion
                }
                if (incluirAdicional)
                {
                    if (solicitudes.Count() > 0)
                    {
                        Ambiente           ambiente = solicitudes[0].Ambiente;
                        AmbienteRepository ar       = new AmbienteRepository();
                        List <Correo>      correos  = ar.ListarCorreos(ambiente.Id);
                        foreach (Correo correo in correos)
                        {
                            if (!String.IsNullOrEmpty(correo.Direccion))
                            {
                                mailsBcc = IncluirCorreo(new MailAddress(correo.Direccion), mailsBcc);
                            }
                        }
                    }
                }

                MailMessage mm = new MailMessage();
                mm.From = maDesde;
                mm.ReplyToList.Add(sr.Obtener().ResponderA);
                foreach (MailAddress mail in mailsTo)
                {
                    mm.To.Add(mail);
                }

                foreach (MailAddress mail in mailsCc)
                {
                    mm.CC.Add(mail);
                }
                foreach (MailAddress mail in mailsBcc)
                {
                    mm.Bcc.Add(mail);
                }



                mm.Subject    = asunto;
                mm.Body       = cuerpo;
                mm.IsBodyHtml = true;
                if (solicitudes.Count() == 1 && solicitudes[0].Emergente)
                {
                    mm.Priority = MailPriority.High;
                }
                client.Send(mm);
            }
            catch
            {
                throw;
            }
        }
示例#17
0
        public ActionResult Actualizar(ProyectoView proyectoView)
        {
            try
            {
                AmbienteRepository ar = new AmbienteRepository();

                string id             = Request.Form["txtId"];
                string codigoProyecto = Request.Form["txtCodigoProyecto"];
                string nombreProyecto = Request.Form["txtNombreProyecto"];
                string pm             = Request.Form["txtPm"];
                string ptl            = Request.Form["txtPtl"];
                char   estado         = Request.Form["cboEstadoProyecto"].ToCharArray()[0];
                //string fechaProduccion = Request.Form["txtFechaProdProy"];
                int    responsableId         = int.Parse(Request.Form["cboResponsable"]);
                bool   mejora                = Request.Form["chkMejora"] == "on";
                string impacto               = mejora ? Request.Form["txtImpacto"] : String.Empty;
                int    tipoProyectoId        = int.Parse(Request.Form["cboTipoProyecto"]);
                string txtCodigoPresupuestal = Request.Form["txtCodigoPresupuestal"];
                string txtCodigoAlterno      = Request.Form["txtCodigoAlterno"];

                Proyecto p = new Proyecto();
                p.Id                 = int.Parse(id);
                p.Codigo             = codigoProyecto;
                p.Nombre             = nombreProyecto;
                p.Pm                 = pm;
                p.Ptl                = ptl;
                p.Estado             = estado;
                p.Mejora             = mejora;
                p.Impacto            = impacto;
                p.CodigoPresupuestal = txtCodigoPresupuestal;
                p.CodigoAlterno      = txtCodigoAlterno;
                if (responsableId > 0)
                {
                    p.Responsable = new Responsable {
                        Id = responsableId
                    };
                }
                if (tipoProyectoId > 0)
                {
                    p.TipoProyecto = new TipoProyecto {
                        Id = tipoProyectoId
                    };
                }

                List <ProyectoAmbiente> proyectoAmbientes = new List <ProyectoAmbiente>();

                #region Ambientes
                string clave = "chkAmbiente";
                foreach (string key in Request.Form.AllKeys)
                {
                    if (key.IndexOf(clave) >= 0)
                    {
                        int              ambienteId = int.Parse(key.Substring(clave.Length));
                        string           fechaBruto = Request.Form["txtFecha" + ambienteId.ToString()];
                        int              anio       = int.Parse(fechaBruto.Substring(6));
                        int              mes        = int.Parse(fechaBruto.Substring(3, 2));
                        int              dia        = int.Parse(fechaBruto.Substring(0, 2));
                        DateTime         fechaPase  = new DateTime(anio, mes, dia);
                        ProyectoAmbiente pa         = new ProyectoAmbiente();
                        pa.Ambiente  = ar.Obtener(ambienteId);
                        pa.FechaPase = fechaPase;
                        proyectoAmbientes.Add(pa);
                    }
                }

                p.Ambientes = proyectoAmbientes;
                #endregion

                #region Aplicaciones
                List <string> nombres = Request.Form.AllKeys.ToList().Where(param => param.Contains("nombreapp")).ToList();
                foreach (string nombre in nombres)
                {
                    string indice           = nombre.Substring("nombreapp".Length);
                    string nombreAplicacion = Request.Form["nombreapp" + indice];
                    string rutaSvn          = Request.Form["svnapp" + indice];
                    string ide       = Request.Form["ideapp" + indice];
                    string version   = Request.Form["versionapp" + indice];
                    char   estadoApp = Request.Form["estadoapp" + indice].ToCharArray()[0];
                    if (!String.IsNullOrEmpty(Request.Form["hdId" + indice]) || Request.Form["eliminadoapp" + indice] == "0")
                    {
                        p.Aplicaciones.Add(new Aplicacion
                        {
                            Id          = String.IsNullOrEmpty(Request.Form["hdId" + indice]) ? 0 : Convert.ToInt32(Request.Form["hdId" + indice]),
                            Nombre      = nombreAplicacion,
                            RutaSVN     = rutaSvn,
                            Herramienta = ide,
                            Version     = version,
                            Eliminar    = Request.Form["eliminadoapp" + indice] == "1",
                            Estado      = estadoApp
                        });
                    }
                }
                #endregion

                #region Desarrolladores
                List <string> idDeses = Request.Form.AllKeys.ToList().Where(param => param.Contains("iddes")).ToList();
                foreach (string idDes in idDeses)
                {
                    string indice = idDes.Substring("iddes".Length);
                    if (!String.IsNullOrEmpty(Request.Form["iddes" + indice]))
                    {
                        if (Request.Form["nuevo" + indice] == "0" || Request.Form["eliminadodes" + indice] == "0")
                        {
                            p.Desarrolladores.Add(new Desarrollador
                            {
                                Id       = int.Parse(Request.Form["iddes" + indice]),
                                Usuario  = Request.Form["usuariodes" + indice],
                                Correo   = Request.Form["correodes" + indice],
                                Nombre   = Request.Form["nombredes" + indice],
                                Eliminar = Request.Form["eliminadodes" + indice] == "1"
                            });
                        }
                    }
                }
                #endregion

                #region Correos
                var prefijo = "proyectocorreonombre";
                var correos = Request.Form.AllKeys.ToList().Where(param => param.Contains(prefijo)).ToList();
                foreach (var item in correos)
                {
                    var indice = item.Substring(prefijo.Length);
                    var correo = Request.Form[prefijo + indice];
                    if (!String.IsNullOrEmpty(Request.Form["hdCorreo" + indice]) || Request.Form["eliminadoCorreo" + indice] == "0")
                    {
                        if (p.Correos == null)
                        {
                            p.Correos = new List <Correo>();
                        }
                        p.Correos.Add(new Correo
                        {
                            Id        = String.IsNullOrEmpty(Request.Form["hdCorreo" + indice]) ? 0 : Convert.ToInt32(Request.Form["hdCorreo" + indice]),
                            Direccion = correo,
                            Eliminar  = Request.Form["eliminadoCorreo" + indice] == "1"
                        });
                    }
                }
                #endregion

                ProyectoRepository pr = new ProyectoRepository();

                p = pr.Actualizar(p);
                if (p.Id == 0)
                {
                    proyectoView.Mensaje = "Hubo un error al actualizar el proyecto";
                    return(View("Crear", proyectoView));
                }

                p.Ambientes = proyectoAmbientes;
                ProyectoView pp = new ProyectoView();
                pp.Mensaje  = "Proyecto Actualizado";
                pp.Proyecto = p;
                SolicitudRepository sr = new SolicitudRepository();
                pp.Proyecto.Solicitudes = sr.ListarPorProyecto(p.Id);
                pp.UsuarioLogueado      = ObtenerUsuario();
                ResponsableRepository  rr  = new ResponsableRepository();
                TipoProyectoRepository tpr = new TipoProyectoRepository();
                pp.Responsables  = rr.Listar(String.Empty);
                pp.TipoProyectos = tpr.Listar(String.Empty);
                pp.Ambientes     = ar.Listar(String.Empty);
                p.Correos        = pr.ListarCorreo(p);
                return(View("Obtener", pp));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new ProyectoView {
                    Mensaje = ex.Message
                }));
            }
        }
示例#18
0
 public ProyectosController()
 {
     _proyectosRepo = new ProyectoRepository();
 }
示例#19
0
        public ActionResult ObjetosPendientes(string id)
        {
            try
            {
                AmbienteRepository  ar = new AmbienteRepository();
                ProyectoView        pv = new ProyectoView();
                SolicitudRepository sr = new SolicitudRepository();
                pv.Mensaje   = String.Empty;
                pv.Ambientes = ar.Listar(String.Empty);
                string codigoProyecto = Request.Form["txtCodigoProyecto"];
                int    ambienteId     = int.Parse(Request.Form["cboAmbiente"]);
                int    tipoFormulario = int.Parse(Request.Form["cboTipoFormulario"]);

                //pv.Proyecto = new Proyecto { Codigo = codigoProyecto };
                pv.Ambiente = new Ambiente {
                    Id = ambienteId
                };
                pv.TipoFormulario = tipoFormulario;
                ProyectoRepository pr = new ProyectoRepository();
                pv.Proyecto = pr.Obtener(codigoProyecto);
                if (pv.Proyecto != null && pv.Proyecto.Id > 0)
                {
                    int proyectoId = pv.Proyecto.Id;


                    //UtilExcel utilExcel = new UtilExcel();
                    if (tipoFormulario == 1) // Base de datos
                    {
                        pv.Campos = pr.ListarCampos(proyectoId, ambienteId);

                        pv.ObjetosBD = pr.ListarObjetoBD(proyectoId, ambienteId);

                        pv.PermisosDBU = pr.ListarPermisosDBU(proyectoId, ambienteId);

                        pv.Jobs = pr.ListarJosb(proyectoId, ambienteId);

                        if (pv.ObjetosBD.Count == 0 && pv.Campos.Count == 0 && pv.PermisosDBU.Count == 0 && pv.Jobs.Count == 0)
                        {
                            pv.Mensaje = "No se encontraron registros";
                        }

                        //app.Quit();
                        //ReleaseObject(app);
                    }
                    else if (tipoFormulario == 2) // Configuraciones
                    {
                        pv.Configuraciones = pr.ListarConfiguraciones(proyectoId, ambienteId);


                        if (pv.Configuraciones.Count == 0)
                        {
                            pv.Mensaje = "No se encontraron registros";
                        }
                    }

                    return(View(pv));
                }
                else
                {
                    pv.Mensaje = String.Format("El código de proyecto {0} no existe en el CMS", codigoProyecto);
                    return(View("Mensaje", pv));
                }
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new ProyectoView {
                    Mensaje = ex.Message
                }));
            }
        }
示例#20
0
 public ProyectoService(string connectionString)
 {
     _conexion    = new ConnectionManager(connectionString);
     _repositorio = new ProyectoRepository(_conexion);
 }
示例#21
0
        public ActionResult Crear(ProyectoView proyectoView)
        {
            try
            {
                ResponsableRepository  rr  = new ResponsableRepository();
                TipoProyectoRepository tpr = new TipoProyectoRepository();
                AmbienteRepository     ar  = new AmbienteRepository();
                string codigoProyecto      = Request.Form["txtCodigoProyecto"];
                string nombreProyecto      = Request.Form["txtNombreProyecto"];
                string pm  = Request.Form["txtPm"];
                string ptl = Request.Form["txtPtl"];
                //string fechaProduccion = Request.Form["txtFechaProdProy"];
                int    responsableId         = int.Parse(Request.Form["cboResponsable"]);
                bool   mejora                = Request.Form["chkMejora"] == "on";
                string impacto               = mejora ? Request.Form["txtImpacto"] : String.Empty;
                int    tipoProyectoId        = int.Parse(Request.Form["cboTipoProyecto"]);
                string txtCodigoPresupuestal = Request.Form["txtCodigoPresupuestal"];
                string txtCodigoAlterno      = Request.Form["txtCodigoAlterno"];

                List <ProyectoAmbiente> proyectoAmbientes = new List <ProyectoAmbiente>();

                string clave = "chkAmbiente";
                foreach (string key in Request.Form.AllKeys)
                {
                    if (key.IndexOf(clave) >= 0)
                    {
                        int              ambienteId = int.Parse(key.Substring(clave.Length));
                        string           fechaBruto = Request.Form["txtFecha" + ambienteId.ToString()];
                        int              anio       = int.Parse(fechaBruto.Substring(6));
                        int              mes        = int.Parse(fechaBruto.Substring(3, 2));
                        int              dia        = int.Parse(fechaBruto.Substring(0, 2));
                        DateTime         fechaPase  = new DateTime(anio, mes, dia);
                        ProyectoAmbiente pa         = new ProyectoAmbiente();
                        pa.Ambiente  = ar.Obtener(ambienteId);
                        pa.FechaPase = fechaPase;
                        proyectoAmbientes.Add(pa);
                    }
                }

                #region Verificar is ya existe el código del proyecto
                ProyectoRepository pr = new ProyectoRepository();
                Proyecto           p  = pr.Obtener(codigoProyecto.Trim());
                if (p != null)
                {
                    proyectoView.Proyecto.Codigo             = codigoProyecto;
                    proyectoView.Proyecto.Nombre             = nombreProyecto;
                    proyectoView.Proyecto.Pm                 = pm;
                    proyectoView.Proyecto.Ptl                = ptl;
                    proyectoView.Proyecto.Mejora             = mejora;
                    proyectoView.Proyecto.Impacto            = impacto;
                    proyectoView.Proyecto.CodigoPresupuestal = txtCodigoPresupuestal;
                    proyectoView.Proyecto.CodigoAlterno      = txtCodigoAlterno;

                    proyectoView.Responsables  = rr.Listar(String.Empty);
                    proyectoView.TipoProyectos = tpr.Listar(String.Empty);
                    if (responsableId > 0)
                    {
                        proyectoView.Proyecto.Responsable = new Responsable {
                            Id = responsableId
                        };
                    }
                    if (tipoProyectoId > 0)
                    {
                        proyectoView.Proyecto.TipoProyecto = new TipoProyecto {
                            Id = tipoProyectoId
                        };
                    }
                    proyectoView.Mensaje = "El código del proyecto ya existe";
                    return(View("Crear", proyectoView));
                }
                else
                {
                    p         = new Proyecto();
                    p.Codigo  = codigoProyecto;
                    p.Nombre  = nombreProyecto;
                    p.Pm      = pm;
                    p.Ptl     = ptl;
                    p.Mejora  = mejora;
                    p.Impacto = impacto;
                    if (responsableId > 0)
                    {
                        p.Responsable = new Responsable {
                            Id = responsableId
                        };
                    }
                    if (tipoProyectoId > 0)
                    {
                        p.TipoProyecto = new TipoProyecto {
                            Id = tipoProyectoId
                        };
                    }
                    p.CodigoPresupuestal = txtCodigoPresupuestal;
                    p.CodigoAlterno      = txtCodigoAlterno;
                    p.Ambientes          = proyectoAmbientes;
                    p = pr.Actualizar(p);
                    if (p.Id == 0)
                    {
                        proyectoView.Mensaje = "Hubo un error al crear el proyecto";
                        return(View("Crear", proyectoView));
                    }
                }
                #endregion

                ProyectoView pp = new ProyectoView();
                pp.Mensaje       = "Proyecto Creado";
                pp.Responsables  = rr.Listar(String.Empty);
                pp.TipoProyectos = tpr.Listar(String.Empty);
                pp.Ambientes     = ar.Listar(String.Empty);
                return(View("Crear", pp));
            }
            catch (Exception ex)
            {
                return(View("Mensaje", new ProyectoView {
                    Mensaje = ex.Message
                }));
            }
        }