Esempio n. 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));
        }
Esempio n. 2
0
        //public ActionResult Delete(string punto)
        //{
        //    int id = int.Parse(punto);
        //    PuntoVenta punto2 = db.PuntoVenta.Find(id);
        //    //db.Regalo.Remove(regalo);
        //    db.Entry(punto2).State = EntityState.Modified;
        //    punto2.estaActivo = false;
        //    db.SaveChanges();
        //    //return RedirectToAction("Index", "Evento");
        //    return RedirectToAction("Index", "PuntoVenta");
        //}

        public JsonResult Delete(string punto)
        {
            int        id     = int.Parse(punto);
            PuntoVenta punto2 = db.PuntoVenta.Find(id);
            //db.Regalo.Remove(regalo);
            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.codPuntoVenta == id && c.fecha == hoy && c.estadoCaja == "Abierto").ToList();

            if (ltu.Count != null && ltu.Count == 0)
            {
                db.Entry(punto2).State = EntityState.Modified;
                punto2.estaActivo      = false;
                //db.SaveChanges();
                List <Turno> ltur = db.Turno.Where(c => c.codPuntoVenta == id && 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 punto de venta esta en uso en este momento", JsonRequestBehavior.AllowGet));
            }
            //return RedirectToAction("Index", "Evento");
            return(Json("Punto de Venta desactivado", JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                TempData["tipo"]    = "alert alert-warning";
                TempData["message"] = "Colocar correo y contraseña con el formato indicado";
                return(Redirect("~/Home/Index"));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            CuentaUsuario cuentausuario = db.CuentaUsuario.Find(model.Email);
            PuntoVenta    punt          = new PuntoVenta();

            try
            {
                if (cuentausuario.codPerfil == 2)
                {
                    string       macAddresses = "";
                    DateTime     hora         = DateTime.Now;
                    List <Turno> turnos       = db.Turno.Where(c => c.usuario == cuentausuario.correo).ToList();
                    turnos = turnos.Where(c => c.fecha.Date == DateTime.Today.Date).ToList();
                    foreach (Turno turno in turnos)
                    {
                        TurnoSistema tS             = turno.TurnoSistema;
                        string       horaInicio     = tS.horIni;
                        string       horaFin        = tS.horFin;
                        DateTime     horaInicioDate = DateTime.ParseExact(horaInicio, "H:m:s", null);
                        DateTime     horaFinDate    = DateTime.ParseExact(horaFin, "H:m:s", null);
                        if (horaInicioDate <= hora && hora <= horaFinDate)
                        {
                            macAddresses = turno.PuntoVenta.dirMAC;
                            break;
                        }
                    }

                    /*foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                     * {
                     *  if (nic.OperationalStatus == OperationalStatus.Up)
                     *  {
                     *      macAddresses += nic.GetPhysicalAddress().ToString();
                     *      break;
                     *  }
                     * }*/
                    if (macAddresses != "")
                    {
                        List <PuntoVenta> lpu = db.PuntoVenta.Where(c => c.dirMAC == macAddresses).ToList();
                        punt = lpu.First();
                    }
                }
            }
            catch (Exception ex)
            {
                try
                {
                    if (cuentausuario.codPerfil == 2)
                    {
                        TempData["tipo"]    = "alert alert-warning";
                        TempData["message"] = "Iniciar Sesión desde un punto de venta registrado.";
                    }
                }
                catch (Exception ex2)
                {
                    TempData["tipo"]    = "alert alert-warning";
                    TempData["message"] = "Correo no registrado.";
                }

                return(Redirect("~/Home/Index"));
            }

            if (cuentausuario.codPerfil != 1 && cuentausuario.estado == false)
            {
                return(Redirect("~/Home/Index"));
            }

            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            Session["orgPago"]            = null;
            Session["orgPago2"]           = null;
            Session["vendAsig"]           = null;
            Session["Pagos2"]             = null;
            Session["ListaTurnoVendedor"] = null;
            Session["Pagos"]                   = null;
            Session["Pendiente"]               = null;
            Session["Pendiente2"]              = null;
            Session["EventoSeleccionadoPago"]  = null;
            Session["EventoSeleccionadoPago2"] = null;
            TempData["tipo"]                   = "alert alert-warning";
            TempData["message"]                = "Logueo Incorrecto";

            switch (result)
            {
            case SignInStatus.Success:
                TempData["tipo"]    = "alert alert-success";
                TempData["message"] = "Logueado Correctamente";
                if (cuentausuario.codPerfil == 1)
                {
                    Session["UsuarioLogueado"] = cuentausuario;
                    return(Redirect("~/Home/Index"));
                }
                else
                {
                    if (cuentausuario.codPerfil == 2)
                    {
                        Turno               tu         = null;
                        DateTime            hoy        = DateTime.Now;
                        int                 idPunto    = 1;
                        TimeSpan            da         = DateTime.Now.TimeOfDay;
                        TurnoSistema        ts         = new TurnoSistema();
                        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];
                            }
                        }
                        Session["ListaTurnoHoy"] = null;
                        List <Turno> liT  = new List <Turno>();
                        List <Turno> liTV = new List <Turno>();
                        liT  = db.Turno.AsNoTracking().Where(j => j.usuario == cuentausuario.usuario && j.codPuntoVenta == punt.codPuntoVenta && j.codTurnoSis == ts.codTurnoSis).ToList();
                        liTV = db.Turno.AsNoTracking().Where(j => j.codPuntoVenta == punt.codPuntoVenta && j.codTurnoSis == ts.codTurnoSis).ToList();
                        liTV = liTV.Where(c => c.fecha == hoy.Date).ToList();
                        Session["ListaTurnoHoy"]     = liTV;
                        Session["PuntoVentaLoguedo"] = punt.codPuntoVenta;
                        if (liT != null)
                        {
                            for (int i = 0; i < liT.Count; i++)
                            {
                                if (liT[i].fecha.Date == hoy.Date)
                                {
                                    tu = liT[i];
                                    Session["TurnoHoy"] = tu;
                                    break;
                                }
                            }
                        }
                        if (tu != null && tu.estado == "Pendiente")
                        {
                            int      idPol      = 4;
                            int      limite     = (int)db.Politicas.Find(idPol).valor;
                            TimeSpan time1      = TimeSpan.FromMinutes(limite);
                            TimeSpan horalimite = TimeSpan.Parse(ts.horIni);
                            TimeSpan hora1      = horalimite.Add(time1);
                            //db.Entry(tu).State = EntityState.Modified;
                            if (hora1 > da)
                            {
                                tu.estado = "Asistio";
                            }
                            else
                            {
                                tu.estado = "Tarde";
                            }
                            tu.horaRegistro = da.ToString(@"hh\:mm\:ss");
                            Session["MensajeIngresoTurno"] = "Hora de ingreso registrada a las: " + da.ToString(@"hh\:mm\:ss") + " hs";
                            db.SaveChanges();
                            //db.Entry(tu).State = EntityState.Detached;
                        }
                    }
                    Session["UsuarioLogueado"] = cuentausuario;
                    return(Redirect("~/Home/Index2"));
                }

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
                return(Redirect("~/Home/Index"));

            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(Redirect("~/Home/Index"));
            }
        }