Exemple #1
0
        public ActionResult Create(veventosorigen modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                // Primero se agrega el evento para despues agregarle los asesores a el respectivo evento
                modelo.fec_creacion    = DateTime.Now;
                modelo.userid_creacion = Convert.ToInt32(Session["user_usuarioid"]);
                context.veventosorigen.Add(modelo);
                if (modelo.fechaini <= modelo.fechafin)
                {
                    int guardarEvento = context.SaveChanges();
                    if (guardarEvento > 0)
                    {
                        veventosorigen ultimoEvento = context.veventosorigen.OrderByDescending(x => x.id).FirstOrDefault();
                        if (ultimoEvento != null)
                        {
                            // Se agregan los asesores en caso de que exista por lo menos uno
                            string asesores = Request["asesores"];
                            if (!string.IsNullOrEmpty(asesores))
                            {
                                string[] asesoresId = asesores.Split(',');
                                foreach (string substring in asesoresId)
                                {
                                    context.vorigenasesor.Add(new vorigenasesor
                                    {
                                        evento_id = ultimoEvento.id,
                                        asesor    = Convert.ToInt32(substring)
                                    });
                                }

                                int result = context.SaveChanges();
                                if (result > 0)
                                {
                                    TempData["mensaje"] = "El nuevo registro de evento fue agregado exitosamente";
                                    CamposListasDesplegables();
                                    BuscarFavoritos(menu);
                                    return(RedirectToAction("Create"));
                                }
                            }

                            TempData["mensaje"] = "El nuevo registro de evento fue agregado exitosamente";
                        }
                    }
                }
                else
                {
                    TempData["mensaje_error"] =
                        "La fecha final registrada no puede ser inferior a la fecha inicial, por favor valide";
                }
            }

            CamposListasDesplegables();
            BuscarFavoritos(menu);
            return(View(modelo));
        }
Exemple #2
0
        public ActionResult update(int?id, int?menu)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            veventosorigen evento = context.veventosorigen.Find(id);

            if (evento == null)
            {
                return(HttpNotFound());
            }

            ConsultaDatosCreacion(evento);
            IOrderedQueryable <users> buscarAsesores = context.users.Where(x => x.rol_id == 4).OrderBy(x => x.user_nombre)
                                                       .ThenBy(x => x.user_apellido);
            List <SelectListItem> lista = new List <SelectListItem>();

            foreach (users asesor in buscarAsesores)
            {
                lista.Add(new SelectListItem
                {
                    Value = asesor.user_id.ToString(), Text = asesor.user_nombre + " " + asesor.user_apellido
                });
            }

            ViewBag.asesores  = lista;
            ViewBag.evento_id = new SelectList(context.tp_origen.OrderBy(x => x.tporigen_nombre), "tporigen_id",
                                               "tporigen_nombre", evento.evento_id);

            List <vorigenasesor> asesoresAsignados = context.vorigenasesor.Where(x => x.evento_id == id).ToList();
            string idAsesoresAsignados             = "";
            int    index = 0;

            foreach (vorigenasesor ids in asesoresAsignados)
            {
                if (index == 0)
                {
                    idAsesoresAsignados += ids.asesor;
                    index++;
                }
                else
                {
                    idAsesoresAsignados += "," + ids.asesor;
                }
            }

            ViewBag.asesoresAsignados = idAsesoresAsignados;
            BuscarFavoritos(menu);
            return(View(evento));
        }
Exemple #3
0
        public void ConsultaDatosCreacion(veventosorigen evento)
        {
            //consulta el nombre de usuario creacion con el id, lo envia a la vista a traves de ViewBag
            users creator = context.users.Find(evento.userid_creacion);

            if (creator != null)
            {
                ViewBag.user_nombre_cre = creator.user_nombre + " " + creator.user_apellido;
            }

            users modificator = context.users.Find(evento.user_idactualizacion);

            if (modificator != null)
            {
                ViewBag.user_nombre_act = modificator.user_nombre + " " + modificator.user_apellido;
                ViewBag.user_fec_act    = modificator.userfec_actualizacion.ToString();
            }
        }
Exemple #4
0
        public ActionResult update(veventosorigen modelo, int?menu)
        {
            if (ModelState.IsValid)
            {
                int nom = (from a in context.veventosorigen
                           where a.descripcion == modelo.descripcion || a.id == modelo.id
                           select a.descripcion).Count();

                if (nom == 1)
                {
                    if (modelo.fechaini <= modelo.fechafin)
                    {
                        string idsAsesores = Request["asesores"];
                        if (idsAsesores != null)
                        {
                            string[]             idAsesor         = idsAsesores.Split(',');
                            List <vorigenasesor> asesoresActuales = context.vorigenasesor.Where(x => x.evento_id == modelo.id).ToList();
                            foreach (vorigenasesor id in asesoresActuales)
                            {
                                const string query = "DELETE FROM [dbo].[vorigenasesor] WHERE [evento_id]={0}";
                                int          rows  = context.Database.ExecuteSqlCommand(query, id.evento_id);
                            }

                            foreach (string id in idAsesor)
                            {
                                context.vorigenasesor.Add(new vorigenasesor
                                {
                                    asesor = Convert.ToInt32(id), evento_id = modelo.id
                                });
                            }

                            context.SaveChanges();
                        }

                        modelo.fec_actualizacion    = DateTime.Now;
                        modelo.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]);
                        context.Entry(modelo).State = EntityState.Modified;
                        context.SaveChanges();
                        TempData["mensaje"] = "La actualización del evento fue exitoso!";
                        ConsultaDatosCreacion(modelo);
                        return(RedirectToAction("update", new { modelo.id, menu }));
                    }

                    TempData["mensaje_error"] =
                        "La fecha final registrada no puede ser inferior a la fecha inicial, por favor valide";
                }
                else
                {
                    TempData["mensaje_error"] = "El registro que ingreso ya se encuentra, por favor valide!";
                }
            }

            IOrderedQueryable <users> buscarAsesores = context.users.Where(x => x.rol_id == 4).OrderBy(x => x.user_nombre)
                                                       .ThenBy(x => x.user_apellido);
            List <SelectListItem> lista = new List <SelectListItem>();

            foreach (users asesor in buscarAsesores)
            {
                lista.Add(new SelectListItem
                {
                    Value = asesor.user_id.ToString(), Text = asesor.user_nombre + " " + asesor.user_apellido
                });
            }

            ViewBag.asesores  = lista;
            ViewBag.evento_id = new SelectList(context.tp_origen.OrderBy(x => x.tporigen_nombre), "tporigen_id",
                                               "tporigen_nombre", modelo.evento_id);

            List <vorigenasesor> asesoresAsignados = context.vorigenasesor.Where(x => x.evento_id == modelo.id).ToList();
            string idAsesoresAsignados             = "";
            int    index = 0;

            foreach (vorigenasesor ids in asesoresAsignados)
            {
                if (index == 0)
                {
                    idAsesoresAsignados += ids.asesor;
                    index++;
                }
                else
                {
                    idAsesoresAsignados += "," + ids.asesor;
                }
            }

            ViewBag.asesoresAsignados = idAsesoresAsignados;
            ConsultaDatosCreacion(modelo);
            BuscarFavoritos(menu);
            return(View());
        }