// GET: Usuarios/Delete/5


        // POST: Usuarios/Delete/5

        public ActionResult Delete(int id)
        {
            try
            {
                BDObtenerPesoSAPEntities db = new BDObtenerPesoSAPEntities();

                int VarUsuario = int.Parse(Session["idUsuario"].ToString());

                if (!db.CPPantallasPermisos.Any(x => x.IdPantalla == 4 && x.IdUsuario == VarUsuario))
                {
                    return(Redirect("/Home/Index"));
                }
                CPUsuario usuario = new CPUsuario();
                usuario         = db.CPUsuario.Where(x => x.CPIdUsuario == id).FirstOrDefault();
                usuario.Estatus = false;

                db.CPUsuario.Attach(usuario);

                db.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                // TODO: Add delete logic here

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                return(View(e));
            }
        }
        public ActionResult Login(CPUsuario entity)
        {
            BDObtenerPesoSAPEntities context = new BDObtenerPesoSAPEntities();
            var exist = context.CPUsuario.Where(x => x.CPNombreUsuario == entity.CPNombreUsuario && x.CPPassword == entity.CPPassword && x.Estatus == true).FirstOrDefault();

            if (exist != null)
            {
                var empresa = context.CPPermisosPlantas.Where(x => x.CPIdUsuario == exist.CPIdUsuario && x.CPPlantaDefault == true).FirstOrDefault().CPIdEmpresa;

                Session["logeado"]    = true;
                Session["idUsuario"]  = exist.CPIdUsuario;
                Session["idPlantaDF"] = context.CPPermisosPlantas.Where(x => x.CPIdUsuario == exist.CPIdUsuario && x.CPPlantaDefault == true).FirstOrDefault().CPIdEmpresa;

                ///Session["TipoCaptura"] = context.CPCatEmpresas.Where(x => x.CPIdEmpresa == empresa).FirstOrDefault().CPIdTipoCaptura;
                Session["TipoCaptura"] = context.CPPermisosPlantas.Where(x => x.CPIdUsuario == exist.CPIdUsuario && x.CPPlantaDefault == true).FirstOrDefault().CPIdTipoCaptura;

                Session["NombrePlanta"]   = context.CPCatEmpresas.Where(x => x.CPIdEmpresa == empresa).FirstOrDefault().CPDescripcionEmpresa;
                Session["IdUserAutoriza"] = 0;
                Session.Timeout           = 50000;
                //Session["NombrePlanta"] = context.CPCatEmpresas.Where(x => x.CPIdEmpresa == exist.CPIdEmpresa).FirstOrDefault().CPDescripcionEmpresa;
                return(Redirect("/Home/Index"));
            }
            else
            {
                Session["idUsuario"] = 0;
                Session["logeado"]   = false;
                ViewBag.error        = "usuario incorrecto";
                return(View());
            }
        }
        public ActionResult Create(CPUsuario entity)
        {
            //entity.IdsIdCia = 1;
            entity.CPRol_id = 1;
            BDObtenerPesoSAPEntities context = new BDObtenerPesoSAPEntities();

            try
            {
                entity.Estatus = true;
                // TODO: Add insert logic here
                context.CPUsuario.Add(entity);
                context.SaveChanges();


                CPPermisosPlantas CPPlantas = new CPPermisosPlantas();
                CPPlantas.CPIdEmpresa     = int.Parse(Session["idPlantaDF"].ToString());
                CPPlantas.CPIdUsuario     = entity.CPIdUsuario;
                CPPlantas.CPFechaAlta     = System.DateTime.Now;
                CPPlantas.CPUsuarioAlta   = int.Parse(Session["idUsuario"].ToString());
                CPPlantas.CPPlantaDefault = true;

                context.CPPermisosPlantas.Add(CPPlantas);
                context.SaveChanges();


                for (int j = 1; j < 4; j++)
                {
                    CPPantallasPermisos CPPantallas = new CPPantallasPermisos();
                    CPPantallas.IdPantalla = j;
                    CPPantallas.IdUsuario  = entity.CPIdUsuario;

                    context.CPPantallasPermisos.Add(CPPantallas);
                    context.SaveChanges();
                }


                //ViewBag.dropdownPlanta = new SelectList(context.IdsCatEmpresas.ToList(), "IdsIdEmpresa", "IdsDescripcionEmpresa");
                //return View();

                return(Redirect("/usuarios"));
            }
            catch
            {
                ViewBag.dropdownPlanta = new SelectList(context.CPCatEmpresas.ToList(), "CPIdEmpresa", "CPDescripcionEmpresa");
                return(View());
            }
        }
        public ActionResult Edit(int id, CPUsuario collection)
        {
            try
            {
                BDObtenerPesoSAPEntities db = new BDObtenerPesoSAPEntities();

                int VarUsuario = int.Parse(Session["idUsuario"].ToString());

                if (!db.CPPantallasPermisos.Any(x => x.IdPantalla == 4 && x.IdUsuario == VarUsuario))
                {
                    return(Redirect("/Home/Index"));
                }


                BDObtenerPesoSAPEntities context = new BDObtenerPesoSAPEntities();
                var Busqueda = context.CPUsuario.Where(x => (x.CPIdUsuario == collection.CPIdUsuario)).FirstOrDefault();

                if (Busqueda != null)
                {
                    collection.CPNombreUsuario = Busqueda.CPNombreUsuario;
                }


                db.CPUsuario.Attach(collection);
                db.Entry(collection).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();


                // TODO: Add update logic here

                return(RedirectToAction("/Index"));
            }
            catch (Exception e)
            {
                return(View(e));
            }
        }