public ActionResult Products(ProductModel model, HttpPostedFileBase image) { if (User.Identity.IsAuthenticated) { var scope = ObjectScopeProvider1.GetNewObjectScope(); if (Checkauthorization(scope, User.Identity.Name)) { model.CategoryName = (from c in scope.GetOqlQuery<Category>().ExecuteEnumerable() where c.Deletedstatus == DeleteStatus.Working select c).Select(prod => new SelectListItem { Selected = false, Text = prod.Name, Value = prod.Id.ToString() }); if (!string.IsNullOrEmpty(model.ProductName) && !string.IsNullOrEmpty(model.ProductDescription) && !string.IsNullOrEmpty(model.ProductPrice) && image != null && image.ContentLength != 0) { Guid categoryId; try { categoryId = new Guid(Request.Form["CategoryName"]); } catch (Exception) { categoryId = Guid.Empty; } if (categoryId != Guid.Empty) { var categories = (from c in scope.GetOqlQuery<Category>().ExecuteEnumerable() where c.Id.Equals(categoryId) select c).ToList(); if (categories.Count > 0) { bool exitFlag = false; foreach (var category in categories) { if (!exitFlag) { foreach (var selectListItem in model.CategoryName) { if (selectListItem.Value == category.Id.ToString()) { selectListItem.Selected = true; exitFlag = true; break; } } } } double price; try { price = Convert.ToDouble(model.ProductPrice); } catch (Exception) { price = 0.0; } if (price != 0.0) { scope.Transaction.Begin(); var product = new Product { Category = categories[0].Name, Name = model.ProductName, Id = Guid.NewGuid(), Price = price, Description = model.ProductDescription }; // saving image here try { var productFile = new File { Filename = image.FileName }; Stream fileStream = image.InputStream; int fileLength = image.ContentLength; productFile.Filedata = new byte[fileLength]; fileStream.Read(productFile.Filedata, 0, fileLength); productFile.MimeType = image.ContentType; productFile.ID = Guid.NewGuid(); product.Productfile = productFile; } catch { } categories[0].Products.Add(product); scope.Add(categories[0]); scope.Transaction.Commit(); return RedirectToAction("Products"); } ModelState.Remove("CategoryName"); if (ModelState.IsValidField("ProductPrice")) ModelState.AddModelError("ProductPrice", "Input proper price value."); return View(model); } } ModelState.Remove("CategoryName"); return View(model); } ModelState.Remove("CategoryName"); return View(model); } ViewData["Status"] = "You are not authorized to do this operation"; return View("Status"); } return RedirectToAction("LogOn"); }
public ActionResult Editproduct(ProductModel model, HttpPostedFileBase image) { if (User.Identity.IsAuthenticated) { var scope = ObjectScopeProvider1.GetNewObjectScope(); if (Checkauthorization(scope, User.Identity.Name)) { if (!string.IsNullOrEmpty(model.ProductName) && !string.IsNullOrEmpty(model.ProductDescription) && !string.IsNullOrEmpty(model.ProductPrice)) { double price; try { price = Convert.ToDouble(model.ProductPrice); } catch (Exception) { price = 0.0; } if (price != 0.0) { List<Product> products = (from c in scope.GetOqlQuery<Product>().ExecuteEnumerable() where c.Id.ToString().Equals(model.Id) select c).ToList(); if (products.Count > 0) { scope.Transaction.Begin(); products[0].Name = model.ProductName; products[0].Description = model.ProductDescription; products[0].Price = price; if (image != null && image.ContentLength != 0) { // updating image here try { products[0].Productfile.Filename = image.FileName; Stream fileStream = image.InputStream; int fileLength = image.ContentLength; products[0].Productfile.Filedata = new byte[fileLength]; fileStream.Read(products[0].Productfile.Filedata, 0, fileLength); products[0].Productfile.MimeType = image.ContentType; } catch { } } scope.Add(products[0]); scope.Transaction.Commit(); ViewData["Status"] = "Product updated successfully. <br /> now you can close this window."; return View("success_small"); } ModelState.Remove("CategoryName"); return View(model); } ModelState.Remove("CategoryName"); if (ModelState.IsValidField("ProductPrice")) ModelState.AddModelError("ProductPrice", "Input proper price value."); return View(model); } ModelState.Remove("CategoryName"); return View(model); } ViewData["Status"] = "You are not authorized to do this operation"; return View("success"); } return RedirectToAction("LogOn"); }
public ActionResult Products() { if (User.Identity.IsAuthenticated) { var scope = ObjectScopeProvider1.GetNewObjectScope(); if (Checkauthorization(scope, User.Identity.Name)) { var productModel = new ProductModel(); productModel.CategoryName = (from c in scope.GetOqlQuery<Category>().ExecuteEnumerable() where c.Deletedstatus == DeleteStatus.Working select c).Select(prod => new SelectListItem { Selected = false, Text = prod.Name, Value = prod.Id.ToString() }); return View(productModel); } ViewData["Status"] = "You are not authorized to do this operation"; return View("Status"); } return RedirectToAction("LogOn"); }
public ActionResult Editproduct(string id) { if (User.Identity.IsAuthenticated) { Guid productId; try { productId = new Guid(id); } catch (Exception) { productId = Guid.Empty; } if (productId != Guid.Empty) { var scope = ObjectScopeProvider1.GetNewObjectScope(); if (Checkauthorization(scope, User.Identity.Name)) { List<Product> products = (from c in scope.GetOqlQuery<Product>().ExecuteEnumerable() where c.Id.Equals(productId) select c).ToList(); if (products.Count > 0) { var productModel = new ProductModel(); productModel.ProductDescription = products[0].Description; productModel.ProductName = products[0].Name; productModel.ProductPrice = products[0].Price.ToString(); productModel.Id = products[0].Id.ToString(); productModel.CategoryName = (from c in scope.GetOqlQuery<Category>().ExecuteEnumerable() select c).Select(prod => new SelectListItem { Selected = false, Text = prod.Name, Value = prod.Id.ToString() }); foreach (var selectListItem in productModel.CategoryName) { if (selectListItem.Text.ToLower() == products[0].Category.ToLower()) { selectListItem.Selected = true; break; } } return View(productModel); } } ViewData["Status"] = "You are not authorized to do this operation"; return View("Status"); } return RedirectToAction("Home"); } return RedirectToAction("LogOn"); }