public ActionResult Delete(Int32 id, FormCollection form)
        {
            AlquileresMVC.Models.Tipo tipoToDelete = db.TipoSet.First(cb => cb.ID == id);

            //valido cliente tiene alquiler
            if (db.ProductoSet.FirstOrDefault(b => b.IDTipo == id) != null)
            {
                ModelState.AddModelError("ID", String.Format("Esta intentando Borrar un Tipo que tiene un Producto"));
            }
            else
            {
                try
                {
                    // Delete
                    db.DeleteObject(tipoToDelete);
                    db.SaveChanges();
                    // Retorno a la vista del listar
                    return(RedirectToAction("List"));
                }
                catch (Exception ex)
                {
                    HandleException excepcion = new HandleException();
                    String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                    excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                    ModelState.AddModelError("ID", clientMessage);
                }
            }

            return(View(tipoToDelete));
        }
        public ActionResult Create()
        {
            AlquileresMVC.Models.Tipo tipo        = new AlquileresMVC.Models.Tipo();
            AlquileresMVC.Models.Tipo tipoToIDAdd = db.TipoSet.ToList().LastOrDefault();
            Int32 _id = tipoToIDAdd.ID + 1;

            tipo.ID = _id;
            return(View(tipo));
        }
        public ActionResult Edit(Int32 id, FormCollection form)
        {
            AlquileresMVC.Models.Modelo modeloToUpdate = db.ModeloSet.First(cb => cb.ID == id);

            string[] arreglo = new string[form.AllKeys.ToList().Count];
            Int32    i       = 0;

            foreach (var key in form.AllKeys)
            {
                var value = form[key];
                arreglo[i] = value;
                i++;
            }

            modeloToUpdate.Codigo      = arreglo[0];
            modeloToUpdate.Descripcion = arreglo[1];
            String estatus  = arreglo[2];
            Int32  iEstatus = Int32.Parse(estatus);

            modeloToUpdate.Estatus = iEstatus;

            AlquileresMVC.Models.Tipo tipoToUpdate = db.TipoSet.First(b => b.ID == modeloToUpdate.IDTipo);
            Int32 iIDTipo = tipoToUpdate.ID;

            modeloToUpdate.IDTipo = iIDTipo;

            TryUpdateModel(modeloToUpdate, "Modelo");
            TryUpdateModel(modeloToUpdate, "Modelo", form.ToValueProvider());

            // Si el modelo es valido, guardo en la BD
            if (ModelState.IsValid)
            {
                db.Connection.Open();
                DbTransaction dbTransaction = db.Connection.BeginTransaction();
                try
                {
                    // Guardar y confirmar.
                    db.SaveChanges();
                    dbTransaction.Commit();
                    /// Si la transaccion es exitosa nos redirigimos a la pagina de detalles como
                    /// cofirmación de que la operacion resulto exitosa
                    return(RedirectToAction("Details/" + modeloToUpdate.ID));
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    HandleException excepcion = new HandleException();
                    String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                    excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                    ModelState.AddModelError("ID", clientMessage);
                }
            }

            return(View(modeloToUpdate));
        }
        public ActionResult Create(FormCollection collection)
        {
            AlquileresMVC.Models.Producto productoToAdd = new AlquileresMVC.Models.Producto();

            string[] arreglo = new string[collection.AllKeys.ToList().Count];
            Int32    i       = 0;

            foreach (var key in collection.AllKeys)
            {
                var value = collection[key];
                arreglo[i] = value;
                i++;
            }

            productoToAdd.Codigo      = arreglo[0];
            productoToAdd.Descripcion = arreglo[1];

            AlquileresMVC.Models.Tipo tipoToAdd = db.TipoSet.ToList().LastOrDefault();
            Int32 iIDTipo = tipoToAdd.ID;

            productoToAdd.IDTipo = iIDTipo;

            String IDMarca  = arreglo[2];
            Int32  iIDMarca = Int32.Parse(IDMarca);

            productoToAdd.IDMarca = iIDMarca;

            if (!String.IsNullOrEmpty(IDMarca))
            {
                productoToAdd.Marca = db.MarcaSet.FirstOrDefault(c => c.ID == iIDMarca);
            }

            if (productoToAdd.Marca == null)
            {
                ModelState.AddModelError("ID", String.Format("El número de IDMarca {0} no está registrado en la base de datos.", IDMarca));
            }

            String IDModelo  = arreglo[3];
            Int32  iIDModelo = Int32.Parse(IDModelo);

            productoToAdd.IDModelo = iIDModelo;

            if (!String.IsNullOrEmpty(IDModelo))
            {
                productoToAdd.Modelo = db.ModeloSet.FirstOrDefault(c => c.ID == iIDModelo);
            }

            if (productoToAdd.Modelo == null)
            {
                ModelState.AddModelError("ID", String.Format("El número de IDModelo {0} no está registrado en la base de datos.", IDModelo));
            }

            String IDCategoria  = arreglo[4];
            Int32  iIDCategoria = Int32.Parse(IDCategoria);

            productoToAdd.IDCategoria = iIDCategoria;

            if (!String.IsNullOrEmpty(IDCategoria))
            {
                productoToAdd.Categoria = db.CategoriaSet.FirstOrDefault(c => c.ID == iIDCategoria);
            }

            if (productoToAdd.Categoria == null)
            {
                ModelState.AddModelError("", String.Format("El número de IDCategoria {0} no está registrado en la base de datos.", IDCategoria));
            }

            TryUpdateModel(productoToAdd, "Producto");
            TryUpdateModel(productoToAdd, "Producto", collection.ToValueProvider());

            //valido claves primaria
            if (db.ProductoSet.FirstOrDefault(b => b.ID == productoToAdd.ID) != null)
            {
                ModelState.AddModelError("ID", String.Format("Violacion Clave primaria", "ID"));
            }
            else
            {
                // Si el modelo es valido, guardo en la BD
                if (ModelState.IsValid)
                {
                    db.Connection.Open();
                    DbTransaction dbTransaction = db.Connection.BeginTransaction();
                    try
                    {
                        // Guardar y confirmo.
                        db.AddToProductoSet(productoToAdd);
                        db.SaveChanges();
                        dbTransaction.Commit();
                        /// Si la transaccion es exitosa nos redirigimos a la pagina de detalles como
                        /// cofirmación de que la operacion resulto exitosa
                        Producto _entidadToIDAdd = db.ProductoSet.ToList().LastOrDefault();
                        Int32    _id             = _entidadToIDAdd.ID;
                        _entidadToIDAdd.ID = _id;
                        return(RedirectToAction("Details/" + _entidadToIDAdd.ID));
                    }
                    catch (Exception ex)
                    {
                        dbTransaction.Rollback();
                        HandleException excepcion = new HandleException();
                        String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                        excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                        ModelState.AddModelError("ID", clientMessage);
                    }
                }
            }

            // Refresca el formulario con los datos guardados
            return(View(productoToAdd));
        }
        public ActionResult Create(FormCollection collection)
        {
            AlquileresMVC.Models.Modelo modeloToAdd = new AlquileresMVC.Models.Modelo();

            string[] arreglo = new string[collection.AllKeys.ToList().Count];
            Int32    i       = 0;

            foreach (var key in collection.AllKeys)
            {
                var value = collection[key];
                arreglo[i] = value;
                i++;
            }

            modeloToAdd.Codigo      = arreglo[0];
            modeloToAdd.Descripcion = arreglo[1];
            String estatus  = arreglo[2];
            Int32  iEstatus = Int32.Parse(estatus);

            modeloToAdd.Estatus = iEstatus;

            AlquileresMVC.Models.Tipo tipoToAdd = db.TipoSet.ToList().LastOrDefault();
            Int32 iIDTipo = tipoToAdd.ID;

            modeloToAdd.IDTipo = iIDTipo;

            TryUpdateModel(modeloToAdd, "Modelo");
            TryUpdateModel(modeloToAdd, "Modelo", collection.ToValueProvider());


            //valido claves primaria
            if (db.ProductoSet.FirstOrDefault(b => b.ID == modeloToAdd.ID) != null)
            {
                ModelState.AddModelError("ID", String.Format("Violacion Clave primaria", "ID"));
            }
            else
            {
                // Si el modelo es valido, guardo en la BD
                if (ModelState.IsValid)
                {
                    db.Connection.Open();
                    DbTransaction dbTransaction = db.Connection.BeginTransaction();
                    try
                    {
                        // Guardar y confirmar.
                        db.AddToModeloSet(modeloToAdd);
                        db.SaveChanges();
                        dbTransaction.Commit();
                        /// Si la transaccion es exitosa nos redirigimos a la pagina de detalles como
                        /// cofirmación de que la operacion resulto exitosa
                        Modelo _entidadToIDAdd = db.ModeloSet.ToList().LastOrDefault();
                        Int32  _id             = _entidadToIDAdd.ID;
                        _entidadToIDAdd.ID = _id;
                        return(RedirectToAction("Details/" + _entidadToIDAdd.ID));
                    }
                    catch (Exception ex)
                    {
                        dbTransaction.Rollback();
                        HandleException excepcion = new HandleException();
                        String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                        excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                        ModelState.AddModelError("ID", clientMessage);
                    }
                }
            }

            return(View(modeloToAdd));
        }
 public ActionResult Details(int id)
 {
     AlquileresMVC.Models.Tipo tipoDetail = db.TipoSet.First(cb => cb.ID == id);
     return(View(tipoDetail));
 }
 public ActionResult Delete(int id)
 {
     AlquileresMVC.Models.Tipo tipoToDelete = db.TipoSet.First(cb => cb.ID == id);
     ViewData.Model = tipoToDelete;
     return(View());
 }
 public ActionResult Edit(Int32 id)
 {
     AlquileresMVC.Models.Tipo tipoToUpdate = db.TipoSet.First(cb => cb.ID == id);
     ViewData.Model = tipoToUpdate;
     return(View());
 }