public ActionResult Delete(Int32 id, FormCollection form)
        {
            AlquileresMVC.Models.Modelo modeloToDelete = db.ModeloSet.First(cb => cb.ID == id);

            //valido cliente tiene alquiler
            if (db.ProductoSet.FirstOrDefault(b => b.IDModelo == id) != null)
            {
                ModelState.AddModelError("ID", String.Format("Esta intentando Borrar un Modelo que tiene un Producto"));
            }
            else
            {
                try
                {
                    // Delete
                    db.DeleteObject(modeloToDelete);
                    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(modeloToDelete));
        }
        public ActionResult Create()
        {
            AlquileresMVC.Models.Modelo modelo        = new AlquileresMVC.Models.Modelo();
            AlquileresMVC.Models.Modelo modeloToIDAdd = db.ModeloSet.ToList().LastOrDefault();
            Int32 _id = modeloToIDAdd.ID + 1;

            modelo.ID = _id;
            return(View(modelo));
        }
        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.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.Modelo modeloDetail = db.ModeloSet.First(cb => cb.ID == id);
     return(View(modeloDetail));
 }
 public ActionResult Delete(int id)
 {
     AlquileresMVC.Models.Modelo modeloToDelete = db.ModeloSet.First(cb => cb.ID == id);
     ViewData.Model = modeloToDelete;
     return(View());
 }
 public ActionResult Edit(Int32 id)
 {
     AlquileresMVC.Models.Modelo modeloToUpdate = db.ModeloSet.First(cb => cb.ID == id);
     ViewData.Model = modeloToUpdate;
     return(View());
 }