Ejemplo n.º 1
0
        public IActionResult Guardar(PersonaCLS oPersonaCLS)
        {
            string NombreVista = "";
            int    nveces      = 0;

            if (oPersonaCLS.IdPersona == 0)
            {
                NombreVista = "Agregar";
            }
            else
            {
                NombreVista = "Editar";
            }
            LlenarSexo();
            try
            {
                using (BDHospitalContext db = new BDHospitalContext())
                {
                    oPersonaCLS.NombreCompleto = oPersonaCLS.Nombre.ToUpper().Trim() + " " +
                                                 oPersonaCLS.ApMaterno.ToUpper().Trim() + " " + oPersonaCLS.ApMaterno.ToUpper().Trim();

                    //Solo en el caso que sea Agregar
                    //Validar si el nombre completo ya existe
                    if (oPersonaCLS.IdPersona == 0)
                    {
                        nveces = db.Persona.Where(p => p.Nombre.ToUpper().Trim() + " " +
                                                  p.Apmaterno.ToUpper().Trim() + " " + p.Apmaterno.ToUpper().Trim()
                                                  == oPersonaCLS.NombreCompleto).Count();
                    }
                    if (!ModelState.IsValid || nveces >= 1)
                    {
                        if (nveces >= 1)
                        {
                            oPersonaCLS.MensajeError = "La persona ya existe";
                        }
                        return(View(NombreVista, oPersonaCLS));
                    }
                    else
                    {
                        Persona oPersona = new Persona();
                        oPersona.Nombre          = oPersonaCLS.Nombre;
                        oPersona.Appaterno       = oPersonaCLS.ApPaterno;
                        oPersona.Appaterno       = oPersonaCLS.ApMaterno;
                        oPersona.Telefonocelular = oPersonaCLS.NumeroTelefono;
                        oPersona.Email           = oPersonaCLS.Email;
                        oPersona.Fechanacimiento = oPersonaCLS.FechaNacimiento;
                        oPersona.Iidsexo         = oPersonaCLS.IdSexo;
                        oPersona.Bhabilitado     = 1;

                        db.Add(oPersona);
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception e)
            {
                return(View(NombreVista, oPersonaCLS));

                throw e;
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public IActionResult Guardar(PersonaCLS oPersonaCLS)
        {
            //llenado del combobox
            LlenarSexo();

            string nombreVista  = "";
            int    numeroVeces  = 0;
            int    nvecesCorreo = 0;

            //validacion de las vista
            if (oPersonaCLS.iidPersona == 0)
            {
                nombreVista = "Agregar";
            }
            else
            {
                nombreVista = "Editar";
            }

            try
            {
                using (BDHospitalContext bd = new BDHospitalContext())
                {
                    //validacion por repeticion en la bd
                    //para ellos se ven los espacios vacios y pasarlo a mayuscula
                    //Agregar
                    oPersonaCLS.nombreCompleto = oPersonaCLS.nombre.Trim().ToUpper() + " " + oPersonaCLS.apPaterno.Trim().ToUpper()
                                                 + " " + oPersonaCLS.apMaterno.Trim().ToUpper();
                    if (oPersonaCLS.iidPersona == 0)
                    {
                        numeroVeces = bd.Persona
                                      .Where(p => p.Nombre.Trim().ToUpper() + " " + p.Appaterno.Trim().ToUpper() + " "
                                             + p.Apmaterno.Trim().ToUpper() == oPersonaCLS.nombreCompleto)
                                      .Count();

                        //VALIDACION DE QUE EL CORREO NO SE REPITA
                        nvecesCorreo = bd.Persona
                                       .Where(p => p.Email.Trim().ToUpper() == oPersonaCLS.email.Trim().ToUpper())
                                       .Count();
                    }
                    else
                    {
                        //VALIDACION PARA EDITAR QUE NO SE REPITA EN BD
                        bd.Persona
                        .Where(p => p.Nombre.Trim().ToUpper() + " " + p.Appaterno.Trim().ToUpper() + " "
                               + p.Apmaterno.Trim().ToUpper() == oPersonaCLS.nombreCompleto &&
                               p.Iidpersona != oPersonaCLS.iidPersona
                               ).Count();


                        nvecesCorreo = bd.Persona
                                       .Where(p => p.Email.Trim().ToUpper() == oPersonaCLS.email.Trim().ToUpper() &&
                                              p.Iidpersona != oPersonaCLS.iidPersona)
                                       .Count();
                    }

                    //validacion del modelo o numero de veces que se repite en la bd
                    if (!ModelState.IsValid || numeroVeces >= 1 || nvecesCorreo >= 1)
                    {
                        if (numeroVeces >= 1)
                        {
                            oPersonaCLS.mensajeError = "la persona ya existe";
                        }
                        if (nvecesCorreo >= 1)
                        {
                            oPersonaCLS.mensajeErrorCorreo = "El correo ya existe en la base de datos";
                        }
                        return(View(nombreVista, oPersonaCLS));
                    }

                    else
                    {
                        //GUARDAR EN BD
                        if (oPersonaCLS.iidPersona == 0)
                        {
                            Persona persona = new Persona();
                            persona.Nombre          = oPersonaCLS.nombre;
                            persona.Appaterno       = oPersonaCLS.apPaterno;
                            persona.Apmaterno       = oPersonaCLS.apMaterno;
                            persona.Telefonofijo    = oPersonaCLS.telefonoFijo;
                            persona.Telefonocelular = oPersonaCLS.telefonoCelular;
                            persona.Fechanacimiento = oPersonaCLS.fechaNacimiento;
                            persona.Email           = oPersonaCLS.email;
                            persona.Iidsexo         = oPersonaCLS.iidSexo;
                            persona.Bhabilitado     = 1;
                            bd.Add(persona);
                            bd.SaveChanges();
                        }
                        else
                        {
                            //EDITAR EN BD
                            Persona persona = bd.Persona
                                              .Where(p => p.Iidpersona == oPersonaCLS.iidPersona)
                                              .First();

                            persona.Nombre          = oPersonaCLS.nombre;
                            persona.Appaterno       = oPersonaCLS.apPaterno;
                            persona.Apmaterno       = oPersonaCLS.apMaterno;
                            persona.Telefonofijo    = oPersonaCLS.telefonoFijo;
                            persona.Telefonocelular = oPersonaCLS.telefonoCelular;
                            persona.Fechanacimiento = oPersonaCLS.fechaNacimiento;
                            persona.Email           = oPersonaCLS.email;
                            persona.Iidsexo         = oPersonaCLS.iidSexo;
                            bd.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception)
            {
                return(View(nombreVista, oPersonaCLS));
            }

            return(RedirectToAction("Index"));
        }