Ejemplo n.º 1
0
        public ActionResult Delete(UserObjectRightViewModel model)
        {
            using (var context = dataContextFactory.CreateByUser())
            {
                var userId = model.UserId;
                var rightId = model.RightId;
                var objectId = model.ObjectId;

                switch (model.Type)
                {
                    case ObjectTypes.Vendor:
                        var vendorRight = (from x in context.UserVendorRights
                                           where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId
                                           select x)
                            .Include(r => r.Vendor)
                            .FirstOrDefault();

                        context.UserVendorRights.Remove(vendorRight);
                        break;
                    case ObjectTypes.Customer:
                        var customerRight = (from x in context.UserCustomerRights
                                             where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId
                                             select x)
                            .Include(r => r.Customer)
                            .FirstOrDefault();

                        context.UserCustomerRights.Remove(customerRight);
                        break;
                    case ObjectTypes.License:
                        var licenseRight = (from x in context.UserLicenseRights
                                            where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId
                                            select x)
                            .Include(r => r.License)
                            .Include(r => r.License.Sku)
                            .FirstOrDefault();

                        context.UserLicenseRights.Remove(licenseRight);
                        break;
                    default:
                        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                }

                context.SaveChanges();

                return RedirectToAction("Edit", "Account", new {id = userId});
            }
        }
Ejemplo n.º 2
0
        public ActionResult Delete(int userId, Guid rightId, Guid objectId, ObjectTypes type)
        {
            using (var context = dataContextFactory.CreateByUser())
            {
                var model = new UserObjectRightViewModel()
                {
                    UserId = userId,
                    RightId = rightId,
                    ObjectId = objectId,
                    Type = type,
                    UserEmail = context.Users.Single(u => u.UserId == userId).Email
                };

                switch (type)
                {
                    case ObjectTypes.Vendor:
                        var vendorRight = (from x in context.UserVendorRights
                            where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId select x)
                            .Include(r => r.Vendor)
                            .FirstOrDefault();

                        model.Name = vendorRight.Vendor.Name;
                        model.Url = "/Vendor/Details?key=" + objectId;
                        break;
                    case ObjectTypes.Customer:
                        var customerRight = (from x in context.UserCustomerRights
                            where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId select x)
                            .Include(r => r.Customer)
                            .FirstOrDefault();

                        model.Name = customerRight.Customer.Name;
                        model.Url = "/Customer/Edit?key=" + objectId;
                        break;
                    case ObjectTypes.License:
                        var licenseRight = (from x in context.UserLicenseRights
                            where x.UserId == userId && x.RightId == rightId && x.ObjectId == objectId select x)
                            .Include(r => r.License)
                            .Include(r => r.License.Sku)
                            .FirstOrDefault();

                        model.Name = licenseRight.License.Sku.SkuCode;
                        model.Url = "/License/Details?key=" + objectId;
                        break;
                    default:
                        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                }

                return View(model);
            }
        }