예제 #1
0
        public ActionResult Create()
        {
            try
            {
                //Explicit Binding usando UpdateModel                
                var producto = new Product();
                UpdateModel(producto);

                //Se puede especificar de dónde se desea que el binding tome los valores.
                //En este caso se está indicando que solo se tome los que provengan del form data.

                //UpdateModel(producto, new FormValueProvider(ControllerContext));

                var prodLN = new ProductoLN();
                producto.RowGuid = Guid.NewGuid();
                producto.ModifiedDate = DateTime.Now;
                prodLN.Insert(producto);
                return RedirectToAction("Index");
            }
            catch (InvalidOperationException iopEx)
            {
                ViewBag.ErrorDescription = "ERROR EN EL MODEL BINDING!!!" + iopEx.ToString();
                return View("Error");
            }
            catch (Exception ex)
            {
                ViewBag.ErrorDescription = ex.ToString();
                ViewData["Controller"] = ControllerContext.RouteData.Values["Controller"].ToString();
                ViewData["Action"] = ControllerContext.RouteData.Values["Action"].ToString();
                return View("Error");
            }
        }
예제 #2
0
 public bool Delete(Product producto)
 {
     //Ya que el objeto producto fue creado fuera del contexto, es necesario indicarle al EF que lo agregue,
     //para esto se usa Attach.
     context.Products.Attach(producto);
     context.Products.Remove(producto);
     return (context.SaveChanges() != 0);
 }
예제 #3
0
 public bool Update(Product producto)
 {
     //Ya que el objeto producto fue creado fuera del contexto, es necesario indicarle al EF que lo agregue,
     //para esto se usa Attach.
     context.Products.Attach(producto);
     context.Entry(producto).State = EntityState.Modified;
     context.Entry(producto).Property("RowGuid").IsModified = false;
     return (context.SaveChanges() != 0);
 }
예제 #4
0
 public ActionResult Edit(Product producto)
 {
     try
     {
         var prodLN = new ProductoLN();
         producto.ModifiedDate = DateTime.Now;
         prodLN.Update(producto);
         return RedirectToAction("Index");
     }
     catch (Exception ex)
     {
         ViewBag.ErrorDescription = ex.ToString();
         ViewData["Controller"] = ControllerContext.RouteData.Values["Controller"].ToString();
         ViewData["Action"] = ControllerContext.RouteData.Values["Action"].ToString();
         return View("Error");
     }
 }
예제 #5
0
 public int Insert(Product producto)
 {
     context.Products.Add(producto);
     return context.SaveChanges();
 }
예제 #6
0
 public Product Select(Product producto)
 {
     var p = context.Products.Where(prods => prods.ProductID == producto.ProductID);
     return p.SingleOrDefault();
 }
예제 #7
0
 public bool Delete(Product producto)
 {
     return prodDAO.Delete(producto);
 }
예제 #8
0
 public bool Update(Product producto)
 {
     return prodDAO.Update(producto);
 }
예제 #9
0
 public int Insert(Product producto)
 {
     return prodDAO.Insert(producto);
 }
예제 #10
0
 public Product Select(Product producto)
 {
     return prodDAO.Select(producto);
 }