public ActionResult EditarAvance(Guid? UserID, string UserName, string Email, string OldPassword, string Password, string ConfirmPassword, string Nombre, string Direccion, string TelefonoMovil, string TelefonoCasa, int Unidad, string Cedula)
        {
            ORMDataContext __db = new ORMDataContext();

            if (UserID.HasValue)
            {

                var __user = __db.Avances.Where(u => u.UserID.Equals(UserID.Value)).FirstOrDefault();

                if (OldPassword.Length > 1 && Password.Equals(ConfirmPassword))
                {

                    var __msp = Membership.GetUser(__user.aspnet_Membership.aspnet_User.UserName);
                    bool __password = __msp.ChangePassword(OldPassword, Password);
                }

                __user.aspnet_Membership.Email = Email;
                __user.aspnet_Membership.LoweredEmail = Email.ToLower();
                __user.Nombre = Nombre;
                __user.Direccion = Direccion;
                __user.TelefonoCasa = TelefonoCasa;
                __user.TelefonoMovil = TelefonoMovil;
                __user.IdUnidad = Unidad;

                __db.SubmitChanges();

                return RedirectToAction("Avances", "Cliente");

            }
            else
            {
                // Intento de registrar al usuario
                MembershipCreateStatus createStatus;
                Membership.CreateUser(UserName, Password, Email, null, null, true, null, out createStatus);
                MembershipUser __user = Membership.GetUser(UserName);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    try
                    {
                        // Insertamos en base de datos
                        ORMDataContext db = new ORMDataContext();
                        db.Avances.InsertOnSubmit(new Avance()
                        {
                            UserID = (Guid)__user.ProviderUserKey,
                            Nombre = Nombre,
                            Direccion = Direccion,
                            TelefonoCasa = TelefonoCasa,
                            TelefonoMovil = TelefonoMovil,
                            IdUnidad = Unidad,
                            Cedula = Cedula
                        });

                        db.SubmitChanges();

                        return RedirectToAction("Avances", "Cliente");
                    }
                    catch (Exception ex)
                    {
                        Membership.DeleteUser(UserName);
                        ViewBag.Error = ex.Message;
                        ORMDataContext db = new ORMDataContext();
                        ViewData.Model = db.Zonas.ToList();
                        return View();
                    }

                }
                else
                {
                    ViewBag.Error = createStatus.ToString();
                }

            }

            return View();
        }
        public ActionResult Register(string UserName, string Email, string Password, string ConfirmPassword, string Nombre, string Direccion, int Zona, string TelefonoMovil, string TelefonoCasa, Guid? UserId, string OldPassword)
        {
            ORMDataContext db = new ORMDataContext();
            if (UserId.HasValue)
            {
                MembershipUser __user = Membership.GetUser();
                var usuario = db.Usuarios.Where(u => u.UserID.Equals(Guid.Parse(__user.ProviderUserKey.ToString()))).FirstOrDefault();

                usuario.aspnet_Membership.Email = Email;
                usuario.Nombre = Nombre;
                usuario.Direccion = Direccion;
                usuario.IdZona = Zona;
                usuario.TelefonoMovil = TelefonoMovil;
                usuario.TelefonoCasa = TelefonoCasa;

                if (OldPassword.Length > 1 && Password.Equals(ConfirmPassword))
                {

                    var __msp = Membership.GetUser(usuario.aspnet_Membership.aspnet_User.UserName);
                    bool __password = __msp.ChangePassword(OldPassword, Password);
                }

                return RedirectToAction("Index", "Cliente");

            }
            else
            {
                // Intento de registrar al usuario
                MembershipCreateStatus createStatus;
                Membership.CreateUser(UserName, Password, Email, null, null, true, null, out createStatus);
                MembershipUser __user = Membership.GetUser(UserName);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    try
                    {
                        // Insertamos en base de datos

                        db.Usuarios.InsertOnSubmit(new Usuario()
                        {
                            UserID = (Guid)__user.ProviderUserKey,
                            Nombre = Nombre,
                            Direccion = Direccion,
                            TelefonoCasa = TelefonoCasa,
                            TelefonoMovil = TelefonoMovil,
                            IdZona = Zona
                        });

                        db.SubmitChanges();

                        FormsAuthentication.SetAuthCookie(UserName, false);
                        return RedirectToAction("Index", "Cliente");
                    }
                    catch (Exception ex)
                    {
                        Membership.DeleteUser(UserName);
                        ViewBag.Error = ex.Message;
                        ViewData.Model = db.Zonas.ToList();
                        return PartialView("PartialRegister");
                    }

                }
                else
                {
                    ViewBag.Error = ErrorCodeToString(createStatus);
                }

                ORMDataContext db2 = new ORMDataContext();
                ViewData.Model = db2.Zonas.ToList();
                //Si llega aqui fue porque algo salio mal.
                return PartialView("PartialRegister");
            }
        }
        public ActionResult EditUnidades(string Marca, string Modelo, string Placa, int Anno)
        {
            ORMDataContext __db = new ORMDataContext();

            __db.Unidads.InsertOnSubmit(new Unidad() { Año = Anno, Modelo = Modelo, Marca = Marca, Placa = Placa });
            __db.SubmitChanges();

            return RedirectToAction("Unidades");
        }