public void PlusSmsCount(string projectCode) { _sQliteAuth.PlusSmsCount(projectCode); ProjectPermission perm = projectPermissions.Where(t => t.ProjectCode == projectCode).FirstOrDefault(); perm.DailySmsCount++; }
public void removePermissionFromProject(ProjectPermission p, int projectId) { using (var db = new PortfolioUnleashedContext()) { db.ProjectPermissions.Remove(db.ProjectPermissions.FirstOrDefault(pp => pp.UserId == p.UserId && pp.ProjectId == pp.ProjectId)); db.SaveChanges(); } }
public void BannProject(string ProjectCode) { ProjectPermission bann = _repo.Get(t => t.ProjectCode == ProjectCode).FirstOrDefault(); bann.isBanned = true; _repo.Update(bann); _uow.SaveChanges(); }
public void updatePermission(ProjectPermission p) { using (var db = new PortfolioUnleashedContext()) { db.ProjectPermissions.FirstOrDefault(pp => pp.UserId == p.UserId && pp.ProjectId == pp.ProjectId).IsProjectEditor = p.IsProjectEditor; db.SaveChanges(); } }
public void addPermissionToProject(ProjectPermission p, int projectId) { using (var db = new PortfolioUnleashedContext()) { p.ProjectId = projectId; db.ProjectPermissions.Add(p); db.SaveChanges(); } }
public TransactionResult UpdateProjectDetails(ProjectListObjects newProjectDetails, string email) { var result = new TransactionResult(); try { using (var context = new TaskPlannerEntities()) { if (newProjectDetails != null && newProjectDetails.ProjectId > 0) { var projectDetailsObj = (from projects in context.Projects.Where(i => i.ProjectId == newProjectDetails.ProjectId && i.IsActive) select projects).FirstOrDefault(); if (projectDetailsObj != null) { projectDetailsObj.ProjectName = newProjectDetails.ProjectName; projectDetailsObj.Description = newProjectDetails.ProjectDescription; projectDetailsObj.CreatedBy = newProjectDetails.CreatedBy; } } else { var newProject = new Project() { ProjectName = newProjectDetails.ProjectName, Description = newProjectDetails.ProjectDescription, CreatedBy = newProjectDetails.CreatedBy, Owner = newProjectDetails.CreatedBy, CreatedOn = DateTime.Now, IsActive = true }; context.Projects.Add(newProject); var projectPermissionListObj = new ProjectPermission() { ProjectId = newProject.ProjectId, EmailId = email, UpdatedOn = DateTime.Now, IsActive = true }; context.ProjectPermissions.Add(projectPermissionListObj); } context.SaveChanges(); } result.IsSuccess = true; } catch (Exception ex) { result.IsSuccess = false; result.Exception = ex; } return(result); }
public bool SmsLimitControl(string projectCode) { ProjectPermission perm = _repo.Get(t => t.ProjectCode == projectCode).FirstOrDefault(); if (perm.MaxSmsLimit == 0) { return(true); } return((perm.DailySmsCount >= perm.MaxSmsLimit) ? false : true); }
public TransactionResult UpdateProjectPermissionList(int projectId, string emailId, bool isProjectPermissionListAdded) { var result = new TransactionResult(); try { using (var context = new TaskPlannerEntities()) { var projectPermissionObj = (from projectPermissionDetails in context.ProjectPermissions.Where(i => i.ProjectId == projectId && i.EmailId == emailId) select projectPermissionDetails).ToList(); if (isProjectPermissionListAdded) { if (projectPermissionObj != null && projectPermissionObj.Count > 0 && projectPermissionObj.Any(i => i.IsActive == false)) { projectPermissionObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.UpdatedOn = DateTime.Now); projectPermissionObj.Where(i => i.IsActive == false).ToList().ForEach(i => i.IsActive = true); } else { var projectPermissionListObj = new ProjectPermission() { ProjectId = projectId, EmailId = emailId, UpdatedOn = DateTime.Now, IsActive = true }; context.ProjectPermissions.Add(projectPermissionListObj); } } else { if (projectPermissionObj != null && projectPermissionObj.Count > 0 && projectPermissionObj.Any(i => i.IsActive == true)) { projectPermissionObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.UpdatedOn = DateTime.Now); projectPermissionObj.Where(i => i.IsActive == true).ToList().ForEach(i => i.IsActive = false); } } context.SaveChanges(); } result.IsSuccess = true; } catch (Exception ex) { result.IsSuccess = false; result.Exception = ex; } return(result); }
public ActionResult RegisterProject(Register register) { ProjectPermission permission = new ProjectPermission { ProjectName = register.ProjectName, OwnerMail = register.OwnerMail, OwnerPhone = register.OwnerPhone }; try { _authControlService.RegisterProject(permission); return(StatusCode(StatusCodes.Status201Created, permission)); } catch (Exception) { return(StatusCode(StatusCodes.Status400BadRequest, permission)); } }
public bool SmsAuthControl(string projectCode) { ProjectPermission perm = _repo.Get(t => t.ProjectCode == projectCode).FirstOrDefault(); return(perm.SmsAuthorization); }
public bool MailAuthControl(string projectCode) { ProjectPermission perm = projectPermissions.Where(t => t.ProjectCode == projectCode).FirstOrDefault(); return(perm.MailAuthorization); }
public void RegisterProject(ProjectPermission permission) { _repo.Add(permission); _uow.SaveChanges(); }
public bool SmsLimitControl(string projectCode) { ProjectPermission perm = projectPermissions.Where(t => t.ProjectCode == projectCode).FirstOrDefault(); return((perm.DailySmsCount >= perm.MaxSmsLimit) ? false : true); }
public void RegisterProject(ProjectPermission permission) { projectPermissions.Add(permission); _sQliteAuth.RegisterProject(permission); }
public void updatePermission(ProjectPermission p) { using (var db = new PortfolioUnleashedContext()) { db.ProjectPermissions.FirstOrDefault(pp => pp.UserId == p.UserId && pp.ProjectId == pp.ProjectId).IsProjectEditor = p.IsProjectEditor; db.ProjectPermissions.FirstOrDefault(pp => pp.UserId == p.UserId && pp.ProjectId == pp.ProjectId).IsProjectMaster = p.IsProjectMaster; db.SaveChanges(); } }
/// <summary> /// Loads the data. /// </summary> public void LoadData() { StageBitz.Data.Project project = DataContext.Projects.Where(p => p.ProjectId == ProjectID).FirstOrDefault(); bool paymentsSpecified = (FinanceSupport.GetCreditCardToken("Company", project.CompanyId) != null); ProjectStatusHandler.ProjectWarningInfo warningInfo = ProjectStatusHandler.GetProjectWarningStatus(project.ProjectStatusCodeId, project.ProjectTypeCodeId == Support.GetCodeByValue("ProjectType", "FREETRIALOPTIN").CodeId, project.ExpirationDate); StageBitz.Data.User companyAdmin = this.GetBL <CompanyBL>().GetCompanyPrimaryAdministrator(project.CompanyId); ProjectName = Support.TruncateString(project.ProjectName, 30); RemainingDays = string.Format("{0} day{1}", warningInfo.DaysToExpiration < 0 ? 0 : warningInfo.DaysToExpiration, warningInfo.DaysToExpiration == 1 ? string.Empty : "s"); CompanyAdminName = Support.TruncateString((companyAdmin.FirstName + " " + companyAdmin.LastName).Trim(), 30); CompanyAdminEmail = companyAdmin.Email1; PaymentFailedDate = null; CompanyFinancialUrl = ResolveUrl(string.Format("~/Company/CompanyFinancialDetails.aspx?companyid={0}", project.CompanyId)); if (warningInfo.WarningStatus == ProjectStatusHandler.ProjectWarningStatus.NoWarning) { noticesMultiView.Visible = false; return; } else { noticesMultiView.Visible = true; } #region Determine User Permission Type ProjectPermission userType = ProjectPermission.Staff; if (Support.IsCompanyAdministrator(project.CompanyId)) { userType = ProjectPermission.CompanyAdministrator; } else if (Support.IsProjectAdministrator(ProjectID)) { userType = ProjectPermission.ProjectAdministrator; } else { userType = ProjectPermission.Staff; } #endregion Determine User Permission Type switch (warningInfo.WarningStatus) { case ProjectStatusHandler.ProjectWarningStatus.FreeTrialGrace: if (userType == ProjectPermission.CompanyAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.FreeTrialGraceCompanyAdmin; } break; case ProjectStatusHandler.ProjectWarningStatus.GracePeriod: if (userType == ProjectPermission.CompanyAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.GracePeriodCompanyAdmin; ucCompanyPaymentFailedWarningGracePeriodCompanyAdmin.CompanyID = project.CompanyId; ucCompanyPaymentFailedWarningGracePeriodCompanyAdmin.LoadData(CompanyPaymentFailedWarning.PermissionLevel.CompanyAdministrator, CompanyPaymentFailedWarning.DisplayMode.PaymentFailedGracePeriod); } else if (userType == ProjectPermission.ProjectAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.GracePeriodProjectAdmin; ucCompanyPaymentFailedWarningGracePeriodNonCompanyAdmin.CompanyID = project.CompanyId; ucCompanyPaymentFailedWarningGracePeriodNonCompanyAdmin.LoadData(CompanyPaymentFailedWarning.PermissionLevel.NonCompanyAdministrator, CompanyPaymentFailedWarning.DisplayMode.PaymentFailedGracePeriod); } PaymentFailedDate = project.ExpirationDate.Value.AddDays(-7); break; case ProjectStatusHandler.ProjectWarningStatus.PaymentFailed: if (userType == ProjectPermission.CompanyAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.PaymentFailedCompanyAdmin; ucCompanyPaymentFailedWarningPaymentFailedCompanyAdmin.CompanyID = project.CompanyId; ucCompanyPaymentFailedWarningPaymentFailedCompanyAdmin.LoadData(CompanyPaymentFailedWarning.PermissionLevel.CompanyAdministrator, CompanyPaymentFailedWarning.DisplayMode.PaymentFailed); } else if (userType == ProjectPermission.ProjectAdministrator || userType == ProjectPermission.Staff) { noticesMultiView.ActiveViewIndex = (int)NoticeType.PaymentFailedProjectStaff; ucCompanyPaymentFailedWarningPaymentFailedNonCompanyAdmin.CompanyID = project.CompanyId; ucCompanyPaymentFailedWarningPaymentFailedNonCompanyAdmin.LoadData(CompanyPaymentFailedWarning.PermissionLevel.NonCompanyAdministrator, CompanyPaymentFailedWarning.DisplayMode.PaymentFailed); } break; case ProjectStatusHandler.ProjectWarningStatus.Suspended: if (userType == ProjectPermission.CompanyAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.SuspendedCompanyAdmin; } else if (userType == ProjectPermission.ProjectAdministrator || userType == ProjectPermission.Staff) { noticesMultiView.ActiveViewIndex = (int)NoticeType.SuspendedProjectStaff; } break; case ProjectStatusHandler.ProjectWarningStatus.Closed: if (userType == ProjectPermission.CompanyAdministrator) { noticesMultiView.ActiveViewIndex = (int)NoticeType.ClosedProjectCompanyAdmin; } break; } //If the project's payment has failed, calculate the number of days the payment is due. if (PaymentFailedDate != null) { int paymentOverdueDays = (int)(Today - PaymentFailedDate.Value).TotalDays; PaymentOverdueDays = string.Format("{0} day{1}", paymentOverdueDays, paymentOverdueDays == 1 ? string.Empty : "s"); } upnlProjectWarningDisplay.Update(); }
/// <summary> /// Contains all permission logic /// </summary> /// <param name="section"></param> /// <param name="user"></param> /// <param name="project"></param> /// <param name="projectRolePermission"></param> /// <returns></returns> private static ProjectPermission GetPermission(PermissionSection section, UserView user, IProject project, Permission projectRolePermission, bool anyAvaliableRoles) { ProjectPermission p = new ProjectPermission(); p.Section = section; p.Permission = Permission.None; //set default switch (section) { case PermissionSection.CountyCoordinatorComments: { switch (user.Role) { case Role.SuperUser: { //superuser has always write permission p.Permission = Permission.Write; break; } case Role.OrganizationAdmin: { //check if my organization is same as project //if true -> default is write if (user.Organization.Equals(project.Organization.Name)) { p.Permission = Permission.Write; } else { // if project is not my organization I should not have read or write permissions to CountyCoordinatorComments p.Permission = Permission.None; } break; } case Role.CountyAdmin: { //check if my county is same as project county //??? how do I know that if (user.County.Equals(project.Organization.County)) { p.Permission = Permission.Write; } else { // if project is not my county I should not have read or write permissions to CountyCoordinatorComments p.Permission = Permission.None; } break; } case Role.Default: { //default role has no rights to CountyCoordinatorComments p.Permission = Permission.None; break; } } break; } case PermissionSection.MemberComments: { //if I am a member, the permission shall be the same as the projectMemberPermission p.Permission = projectRolePermission; break; } case PermissionSection.MemberEdit: { if (anyAvaliableRoles) { p.Permission = Permission.Write; } break; } case PermissionSection.Project: { //the project permission IS the projectMemberPermission p.Permission = projectRolePermission; break; } case PermissionSection.Stimulus: { if (project.ProjectType == ProjectType.Internal) { p.Permission = Permission.None; } else { if (user.Role == Role.CountyAdmin) { p.Permission = Permission.Write; } else { p.Permission = Permission.Read; } } break; } } return(p); }