예제 #1
0
        public JsonResult Delete(string usuario)
        {
            //CuentaUsuario cuenta = db.CuentaUsuario.AsNoTracking().Where(c => c.codDoc == usuario).ToList().First();
            //db.Regalo.Remove(regalo);
            string        usuario2 = usuario.Replace("°", "@");
            CuentaUsuario cuenta   = db.CuentaUsuario.Find(usuario2);

            if (cuenta.codPerfil == 2)
            {
                DateTime            hoy        = DateTime.Now.Date;
                TurnoSistema        ts         = new TurnoSistema();
                TimeSpan            da         = DateTime.Now.TimeOfDay;
                List <TurnoSistema> listaturno = db.TurnoSistema.AsNoTracking().Where(c => c.activo == true).ToList();
                for (int i = 0; i < listaturno.Count; i++)
                {
                    if ((TimeSpan.Parse(listaturno[i].horIni) < da) && (TimeSpan.Parse(listaturno[i].horFin) > da))
                    {
                        ts = listaturno[i];
                    }
                }
                List <Turno> ltu = db.Turno.Where(c => c.codTurnoSis == ts.codTurnoSis && c.usuario == cuenta.usuario && c.fecha == hoy && c.estadoCaja == "Abierto").ToList();
                if (ltu.Count != null && ltu.Count == 0)
                {
                    db.Entry(cuenta).State = EntityState.Modified;
                    cuenta.estado          = false;
                    //db.SaveChanges();
                    List <Turno> ltur = db.Turno.Where(c => c.usuario == cuenta.usuario && c.fecha > hoy).ToList();
                    for (int j = 0; j < ltur.Count; j++)
                    {
                        db.Turno.Remove(ltur[j]);
                    }
                    db.SaveChanges();
                }
                else
                {
                    Session["vendAsig"]           = null;
                    Session["ListaTurnoVendedor"] = null;
                    return(Json("Error este vendedor esta trabajando en un punto de venta ahora", JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                db.Entry(cuenta).State = EntityState.Modified;
                cuenta.estado          = false;
                db.SaveChanges();
                return(Json("Promotor desactivado", JsonRequestBehavior.AllowGet));
            }
            return(Json("Empleado desactivado", JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public async Task <ActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            var           db      = new inf245netsoft();
            string        correo  = User.Identity.Name;
            CuentaUsuario cliente = db.CuentaUsuario.Where(c => c.correo == correo).First();

            if (cliente.contrasena == model.OldPassword)
            {
                if (cliente.contrasena != model.NewPassword)
                {
                    if (model.NewPassword == model.ConfirmPassword)
                    {
                        var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

                        if (result.Succeeded)
                        {
                            var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                            cliente.contrasena = model.NewPassword;
                            db.SaveChanges();
                            TempData["tipo"]    = "alert alert-success";
                            TempData["message"] = "Contraseña cambiada Exitosamente";
                            if (user != null)
                            {
                                await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                            }
                            /*Aca deberia retornarte a MiCuenta de CuentaUsuario*/
                            return(RedirectToAction("MiCuenta", "CuentaUsuario"));
                        }
                        else
                        {
                            ModelState.AddModelError("NewPassword", "Las contraseñas deben tener 6 caracteres como mínimo y una combinación de caracteres especiales, letras, letras mayúsculas y números");
                        }
                    }
                    else
                    {
                        //cuando la contraseña nueva y la confirmacion no son iguales
                        ModelState.AddModelError("ConfirmPassword", "Las contraseñas no coinciden");
                    }
                }
                else
                {
                    //contrseña actual igual a la contraseña nueva
                    ModelState.AddModelError("NewPassword", "Ingrese una contraseña diferente a la actual.");

                    /*var result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);
                     * if (!result.Succeeded)
                     * {
                     *  ModelState.AddModelError("NewPassword", "Las contraseñas deben tener 6 caracteres como mínimo y una combinación de caracteres especiales, letras, letras mayúsculas y números");
                     * }*/
                }
            }
            else
            {
                //contreña actual diferente a la ingresa
                ModelState.AddModelError("OldPassword", "Contraseña ingresada no es correcta");
            }
            return(View(model));
        }
예제 #3
0
 public ActionResult RegisterRegalo(RegaloModel model)
 {
     if (ModelState.IsValid)
     {
         Regalo regalo = new Regalo();
         //Regalo regaloL = db.Regalo.ToList().Last();
         //regalo.idRegalo = regaloL.idRegalo + 1;
         regalo.Nombre      = model.nombre;
         regalo.estado      = true;
         regalo.descripcion = model.descripcion;
         regalo.puntos      = model.puntos;
         db.Regalo.Add(regalo);
         db.SaveChanges();
         return(RedirectToAction("Index", "Regalo"));
     }
     return(View("Index"));
 }
예제 #4
0
 public ActionResult RegisterOrganizador(OrganizadorModel model)
 {
     if (ModelState.IsValid)
     {
         Organizador org = new Organizador();
         //Organizador orgL = db.Organizador.ToList().Last();
         //org.codOrg = orgL.codOrg + 1;
         org.codDoc    = model.codDoc;
         org.correo    = model.Email;
         org.nombOrg   = model.nombre;
         org.telefOrg  = model.telefono;
         org.tipoDoc   = model.tipoDoc;
         org.estadoOrg = "Activo";
         db.Organizador.Add(org);
         db.SaveChanges();
         return(View("Index"));
     }
     return(View("Index"));
 }
예제 #5
0
        public ActionResult RegisterTipoDeCambio(TipoDeCambioModel model)
        {
            double b, d;
            List <WebApplication4.Models.TipoDeCambio> listaCambio = db.TipoDeCambio.AsNoTracking().Where(c => c.estado == "Activo").ToList();

            if (listaCambio.Count > 0)
            {
                TipoDeCambio tipoA = listaCambio.Last();
                db.Entry(tipoA).State = EntityState.Modified;
                if (ModelState.IsValid)
                {
                    TipoDeCambio tipo = new TipoDeCambio();
                    d = model.valor * 10000;
                    b = System.Math.Truncate(d);
                    int n = int.Parse(b + "");
                    tipo.valor   = n;
                    tipo.fecha   = DateTime.Now;
                    tipo.estado  = "Activo";
                    tipoA.estado = "Inactivo";
                    db.TipoDeCambio.Add(tipo);
                    db.SaveChanges();
                    return(RedirectToAction("Index", "TipoDeCambio"));
                }
            }
            else
            {
                if (ModelState.IsValid)
                {
                    TipoDeCambio tipo = new TipoDeCambio();
                    d = model.valor * 10000;
                    b = System.Math.Truncate(d);
                    int n = int.Parse(b + "");
                    tipo.valor  = n;
                    tipo.fecha  = DateTime.Now;
                    tipo.estado = "Activo";
                    db.TipoDeCambio.Add(tipo);
                    db.SaveChanges();
                    return(RedirectToAction("Index", "TipoDeCambio"));
                }
            }
            return(View("Index"));
        }
예제 #6
0
        public ActionResult RegisterLocal(LocalModel model)
        {
            if (ModelState.IsValid)
            {
                Local local = new Local();
                //Local localL = db.Local.ToList().Last();
                //local.codLocal = localL.codLocal + 1;
                local.descripcion = model.descripcion;
                local.ubicacion   = model.ubicacion;
                local.estaActivo  = true;
                local.idProvincia = model.idProv;
                local.idRegion    = model.idRegion;
                db.Local.Add(local);
                db.SaveChanges();
                return(RedirectToAction("Index", "Local"));
            }
            List <Region> listaDep = db.Region.Where(c => c.idRegPadre == null).ToList();
            List <Region> listProv = new List <Region>();

            ViewBag.DepID  = new SelectList(listaDep, "idRegion", "nombre");
            ViewBag.ProvID = new SelectList(listProv, "idProv", "nombre");
            return(View("Index"));
        }
예제 #7
0
        public ActionResult RegisterPunto(PuntoVentaModel model)
        {
            if (ModelState.IsValid)
            {
                PuntoVenta punto = new PuntoVenta();
                //PuntoVenta puntoL = db.PuntoVenta.ToList().Last();
                //punto.codPuntoVenta = puntoL.codPuntoVenta + 1;
                punto.dirMAC      = model.mac;
                punto.estaActivo  = true;
                punto.ubicacion   = model.ubicacion;
                punto.idProvincia = model.idProv;
                punto.idRegion    = model.idRegion;
                punto.nombre      = model.nombre;
                db.PuntoVenta.Add(punto);
                db.SaveChanges();
                return(RedirectToAction("Index", "PuntoVenta"));
            }
            List <Region> listaDep = db.Region.Where(c => c.idRegPadre == null).ToList();
            List <Region> listProv = new List <Region>();

            ViewBag.DepID  = new SelectList(listaDep, "idRegion", "nombre");
            ViewBag.ProvID = new SelectList(listProv, "idProv", "nombre");
            return(View("Index"));
        }
예제 #8
0
 public string reservarOrganizador(PaqueteEntradas paquete)
 {
     try
     {
         using (var context = new inf245netsoft())
         {
             try
             {
                 if (paquete.tieneAsientos)
                 {
                     for (int i = 0; i < paquete.cantEntradas; i++)
                     {
                         int              col         = paquete.columnas[i];
                         int              fil         = paquete.filas[i];
                         List <Asientos>  listasiento = context.Asientos.Where(x => x.codZona == paquete.idZona && x.fila == fil && x.columna == col).ToList();
                         AsientosXFuncion actAsiento  = context.AsientosXFuncion.Find(listasiento.First().codAsiento, paquete.idFuncion);
                         actAsiento.estado = "RESERVAORGANIZADOR";
                     }
                 }
                 else
                 {
                     ZonaxFuncion ZXF = context.ZonaxFuncion.Find(paquete.idFuncion, paquete.idZona);
                     if (ZXF.cantLibres < paquete.cantEntradas)
                     {
                         return("No hay suficientes entradas");
                     }
                     ZXF.cantLibres             -= paquete.cantEntradas;
                     ZXF.cantReservaOrganizador += paquete.cantEntradas;
                 }
                 context.SaveChanges();
             }
             catch (OptimisticConcurrencyException ex)
             {
                 return("No se pudieron reservar los asientos, alguien más ya lo hizo.");
             }
         }
     }
     catch (Exception ex)
     {
         return("Ocurrio un error inesperado.");
     }
     //Funciones Utilitarias necesarias
     //BuscarEntradasLeQuedan( User , Funcion )
     return("Ok");
 }
예제 #9
0
        //no me mires
        private void borrar(int id)
        {
            List <Categoria> listaCategoria = null;

            while (true)
            {
                listaCategoria = db.Categoria.Where(c => c.idCatPadre == id).ToList();
                if (listaCategoria.Count == 0)
                {
                    return;
                }
                else
                {
                    for (int i = 0; i < listaCategoria.Count; i++)
                    {
                        db.Entry(listaCategoria[i]).State = EntityState.Modified;
                        listaCategoria[i].activo          = 0;
                        db.SaveChanges();
                        borrar(listaCategoria[i].idCategoria);
                    }
                    return;
                }
            }
        }
예제 #10
0
        public ActionResult ReservaOrganizador(ReservaOrganizadorModel model)
        {
            using (var context = new inf245netsoft())
            {
                try
                {
                    for (int i = 0; i < model.idFuncion.Length; i++)
                    {
                        if (model.eliminar[i])
                        {
                            if (model.idAsiento[i] < 0)
                            {
                                var ZXF = context.ZonaxFuncion.Find(model.idFuncion[i], model.idZona[i]);
                                ZXF.cantReservaOrganizador--;
                                ZXF.cantLibres++;
                            }
                            else
                            {
                                var asientoReal = context.AsientosXFuncion.Find(model.idAsiento[i], model.idFuncion[i]);
                                asientoReal.estado = "libre";
                            }
                        }
                    }
                    context.SaveChanges();
                }
                catch (OptimisticConcurrencyException ex)
                {
                    TempData["tipo"]    = "alert alert-warning";
                    TempData["message"] = "No se pudieron cancelar las reservas";
                    Redirect("~/Evento/verReservaOrganizador?evento=" + model.idEvento);
                }
            }

            TempData["tipo"]    = "alert alert-success";
            TempData["message"] = "Las reservas se cancelaron correctamente";
            return(Redirect("~/Evento/verReservaOrganizador?evento=" + model.idEvento));
        }
예제 #11
0
        public JsonResult RegistraPoliticas(string dur, string mx, string mt, string ra, string mE, string hr)
        {
            int      er = 0;
            int      m1, m2, m3, m4, m5, m6;
            DateTime h6;
            string   me1 = "1.Falta Ingresar Valores\n", me2 = " 3.Falta Ingresar Valores\n", me3 = " 4.Falta Ingresar Valores\n", me4 = " 5.Falta Ingresar Valores\n", me5 = " 6.Falta Ingresar Valores", me6 = " 2.Falta Ingresar Valores\n";

            if (int.TryParse(dur, out m1) == true)
            {
                int val = int.Parse(dur);
                if (val > 0)
                {
                    int       t = 1;
                    Politicas p = db.Politicas.Find(t);
                    db.Entry(p).State = EntityState.Modified;
                    p.valor           = val;
                    db.SaveChanges();
                    db.Entry(p).State = EntityState.Detached;
                    me1 = "1.Completado\n";
                }
                else
                {
                    me1 = " 1.Error Negativo\n";
                    er  = 1;
                }
            }
            else
            {
                if (dur != "")
                {
                    me1 = " 1.Error Número Decimal\n";
                    er  = 1;
                }
            }
            if (dur == "e")
            {
                int       t = 1;
                Politicas p = db.Politicas.Find(t);
                db.Entry(p).State = EntityState.Modified;
                p.valor           = null;
                db.SaveChanges();
            }
            if (int.TryParse(mx, out m2) == true)
            {
                int val1 = int.Parse(mx);
                if (val1 > 0)
                {
                    int       t = 2;
                    Politicas p = db.Politicas.Find(t);
                    db.Entry(p).State = EntityState.Modified;
                    p.valor           = val1;
                    db.SaveChanges();
                    db.Entry(p).State = EntityState.Detached;
                    me2 = " 3.Completado\n";
                }
                else
                {
                    me2 = " 3.Error Negativo\n";
                    er  = 1;
                }
            }
            else
            {
                if (mx != "")
                {
                    me2 = " 3.Error Número Decimal\n";
                    er  = 1;
                }
            }
            if (int.TryParse(mt, out m3) == true)
            {
                int val2 = int.Parse(mt);
                if (val2 > 0)
                {
                    int       t = 3;
                    Politicas p = db.Politicas.Find(t);
                    db.Entry(p).State = EntityState.Modified;
                    p.valor           = val2;
                    db.SaveChanges();
                    db.Entry(p).State = EntityState.Detached;
                    me3 = " 4.Completado\n";
                }
                else
                {
                    me3 = " 4.Error Negativo\n";
                    er  = 1;
                }
            }
            else
            {
                if (mt != "")
                {
                    me3 = " 4.Error Número Decimal\n";
                    er  = 1;
                }
            }
            if (int.TryParse(ra, out m4) == true)
            {
                int val3 = int.Parse(ra);
                if (val3 > 0)
                {
                    int       t = 5;
                    Politicas p = db.Politicas.Find(t);
                    db.Entry(p).State = EntityState.Modified;
                    p.valor           = val3;
                    db.SaveChanges();
                    db.Entry(p).State = EntityState.Detached;
                    me4 = " 5.Completado\n";
                }
                else
                {
                    me4 = " 5.Error Negativo\n";
                    er  = 1;
                }
            }
            else
            {
                if (ra != "")
                {
                    me4 = " 5.Error Número Decimal\n";
                    er  = 1;
                }
            }
            if (int.TryParse(mE, out m5) == true)
            {
                int val5 = int.Parse(mE);
                if (val5 > 0)
                {
                    int       t = 7;
                    Politicas p = db.Politicas.Find(t);
                    db.Entry(p).State = EntityState.Modified;
                    p.valor           = val5;
                    db.SaveChanges();
                    db.Entry(p).State = EntityState.Detached;
                    me5 = " 6.Completado\n";
                }
                else
                {
                    me5 = " 6.Error Negativo\n";
                    er  = 1;
                }
            }
            else
            {
                if (mE != "")
                {
                    me5 = " 6.Error Número Decimal\n";
                    er  = 1;
                }
            }
            if (DateTime.TryParse(hr, out h6) == true)
            {
                DateTime    hr6 = DateTime.Parse(hr);
                HoraReserva h   = db.HoraReserva.Find(6);
                db.Entry(h).State = EntityState.Modified;
                h.hora            = hr6;
                db.SaveChanges();
                me6 = " 2.Completado\n";
            }
            if (hr == "e")
            {
                HoraReserva h = db.HoraReserva.Find(6);
                db.Entry(h).State = EntityState.Modified;
                h.hora            = null;
                db.SaveChanges();
            }
            string mensaje = "";

            if (er == 1)
            {
                mensaje = me1 + me6 + me2 + me3 + me4 + me5;
            }
            else
            {
                mensaje = "Actualizacion Completada";
            }
            return(Json(mensaje, JsonRequestBehavior.AllowGet));
        }
예제 #12
0
        public ActionResult RegisterPromocion(PromocionModel model)
        {
            int ev = 0;
            List <PeriodoVenta> listPer   = new List <PeriodoVenta>();
            DateTime            fechMin   = DateTime.MaxValue;
            DateTime            fechMax   = DateTime.MinValue;
            Promociones         promocion = new Promociones();

            //Promociones promocionL = db.Promociones.ToList().Last();
            //promocion.codPromo = promocionL.codPromo + 1;
            if (Session["idEvento"] != null)
            {
                ev = (int)Session["idEvento"];
                if (ev == 0)
                {
                    return(RedirectToAction("Index", "Evento"));
                }
                promocion.codEvento = (int)Session["idEvento"];
                listPer             = db.PeriodoVenta.AsNoTracking().Where(c => c.codEvento == ev).ToList();
                for (int i = 0; i < listPer.Count; i++)
                {
                    if (listPer[i].fechaInicio < fechMin)
                    {
                        fechMin = (DateTime)listPer[i].fechaInicio;
                    }
                    if (listPer[i].fechaFin > fechMax)
                    {
                        fechMax = (DateTime)listPer[i].fechaFin;
                    }
                }
                if (listPer.Count == 0)
                {
                    ViewBag.NoPeriodo = "No existe un periodo de venta para este evento";
                    return(View("Index"));
                }
            }
            else
            {
                return(View("Index"));
            }
            promocion.estado = true;

            if (model.fechaFin > fechMax || model.fechaIni < fechMin)
            {
                ViewBag.ErrorPeriodo = "Fechas deben estar dentro de un periodo de " + fechMin.ToString("dd/MM/yyyy") + " y " + fechMax.ToString("dd/MM/yyyy");
                return(View("Index"));
            }

            if (ModelState.IsValid) //promocion por tarjeta
            {
                promocion.codBanco       = model.codBanco;
                promocion.codTipoTarjeta = model.codTipoTarjeta;
                promocion.fechaIni       = model.fechaIni;
                promocion.fechaFin       = model.fechaFin;
                promocion.descuento      = model.descuento;
                promocion.modoPago       = "T";
                promocion.descripcion    = db.Banco.Find(model.codBanco).nombre + " " + db.TipoTarjeta.Find(model.codTipoTarjeta).nombre + " " + model.descuento + "%";
                db.Promociones.Add(promocion);
                db.SaveChanges();
                return(Redirect("~/Promocion/Index?evento=" + ev));
            }
            return(View("Index"));
            //throw new Exception("Test Exception");
        }