コード例 #1
0
        public ActionResult ClientEntitlements(decimal id, decimal projectId = 0)
        {//TODO check to ajax
            CheckUserAuthorization();

            if (id < 0)
            {
                return(RedirectToAction("Index", "Projects"));
            }
            EntitlementsModel model = new EntitlementsModel();

            try
            {
                List <EEntitlement> entitlements = null;
                if (projectId > 0)
                {
                    entitlements      = EntitlementsProvider.GetEntitlements(id, projectId);
                    model.ProjectId   = projectId;
                    model.ProjectName = ProjectsProvider.GetProject(projectId).ProjectName;
                }
                else
                {
                    entitlements = EntitlementsProvider.GetEntitlementsForClient(id);
                }

                AddEntitlementsToModel(id, model, entitlements);
            }
            catch (Exception ex)
            {//TODO handle
            }
            return(View("Entitlements", model));
        }
コード例 #2
0
        private void LoadLicenseTypes(EditEntitlementModel model)
        {
            var availableLicanseTypes = EntitlementsProvider.GetLicenseTypes();

            model.AvailableLicanseTypes = availableLicanseTypes.Select(t => new SelectListItem {
                Text = t.Name, Value = t.Id.ToString()
            });
        }
コード例 #3
0
 public ActionResult SaveEntitlement(EditEntitlementModel model)
 {
     if (model.DateBegin > model.DateEnd)
     {
         ModelState.AddModelError("DateEnd", "The end date must be greather then begin date");
     }
     if (ModelState.IsValid)
     {
         CheckUserAuthorization();//Check this user before save
         EEntitlement ent = model.ToEEntitlement();
         EntitlementsProvider.SaveEntitlement(ent, UserStateManager.GetUserIdFromCookies(Request));
         model.EntitlementId = ent.Id;
         return(RedirectToAction("EditEntitlement", "Entitlement", new { entitlementId = model.EntitlementId }));
     }
     LoadThirdElementsData(model);
     return(View("EditEntitlement", model));
 }
コード例 #4
0
        private static void AddEntitlementsToModel(decimal clientId, EntitlementsModel model, List <EEntitlement> entitlements)
        {
            List <ELicenseType>         licTypes  = EntitlementsProvider.GetLicenseTypes();
            List <EditEntitlementModel> entModels = new List <EditEntitlementModel>();

            foreach (EEntitlement dbEnt in entitlements)
            {
                var entModel = new EditEntitlementModel()
                {
                    LicenseTypeName = licTypes.FirstOrDefault(l => l.Id == dbEnt.LicenseTypeId).Name
                };
                entModels.Add(entModel.LoadEntitlement(dbEnt));
                entModel.Projectname = ProjectsProvider.GetProject(entModel.ProjectId).ProjectName;
            }
            model.Entitlemens        = entModels;
            model.ClientId           = clientId;
            model.ClientInternalName = ClientsProvider.GetClient(clientId).Name;
        }
コード例 #5
0
        public ActionResult EditEntitlement(decimal entitlementId)
        {
            CheckUserAuthorization();
            if (entitlementId < 1)
            {
                RedirectToAction("Index", "Entitlements");
            }
            decimal currentUser = UserStateManager.GetUserIdFromCookies(Request);
            var     entitlement = EntitlementsProvider.GetEntitlement(entitlementId);

            if (entitlement == null)
            {
                RedirectToAction("Index", "Entitlements");
            }
            if (entitlement.UserCreatorId == currentUser)//TODO check by project members
            {
                EditEntitlementModel model = new EditEntitlementModel();
                model.LoadEntitlement(entitlement);
                LoadThirdElementsData(model);
                return(View("EditEntitlement", model));
            }
            return(RedirectToAction("Index", "Entitlements"));
        }