public ActionResult delete(int id) { Variant variant = variantService.GetByPrimaryKey(id); try { int numVariantOfProduct = variantService.CountByProductID(variant.ProductID); if (numVariantOfProduct == 1) { variant.Option1 = variant.VariantTittle = "Default Title"; variant.Option2 = null; variant.Option3 = null; variant.ImageID = null; variant.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); variantService.Update(variant); List <TblOption> optionOfProduct = optionService.GetByProductID(variant.ProductID); if (optionOfProduct != null && optionOfProduct.Count > 0) { for (int i = 0; i < optionOfProduct.Count; i++) { if (i == 0) { TblOption option = optionOfProduct[i]; option.OptionName = "Title"; option.CreatedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); option.OptionValue = "Default Title"; option.Position = 1; optionService.Update(option); } else { optionService.DeleteByPrimary(optionOfProduct[i].OptionID); } } } } else { variantService.DeleteByPrimary(id); } optionService.UpdateOptionOfProduct(variant.ProductID); return(RedirectToAction("detail", "products", new { id = variant.ProductID, strMessage = "Variant1" })); } catch (Exception ex) { LogService.WriteException(ex); } return(RedirectToAction("detail", "products", new { id = variant.ProductID, strMessage = "Variant0" })); }