Exemplo n.º 1
0
        public void PlusSmsCount(string projectCode)
        {
            _sQliteAuth.PlusSmsCount(projectCode);
            ProjectPermission perm = projectPermissions.Where(t => t.ProjectCode == projectCode).FirstOrDefault();

            perm.DailySmsCount++;
        }
Exemplo n.º 2
0
 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();
        }
Exemplo n.º 4
0
 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();
     }
 }
Exemplo n.º 5
0
 public void addPermissionToProject(ProjectPermission p, int projectId)
 {
     using (var db = new PortfolioUnleashedContext())
     {
         p.ProjectId = projectId;
         db.ProjectPermissions.Add(p);
         db.SaveChanges();
     }
 }
 public void addPermissionToProject(ProjectPermission p, int projectId)
 {
     using (var db = new PortfolioUnleashedContext())
     {
         p.ProjectId = projectId;
         db.ProjectPermissions.Add(p);
         db.SaveChanges();
     }
 }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 12
0
        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();
 }
Exemplo n.º 14
0
        public bool SmsLimitControl(string projectCode)
        {
            ProjectPermission perm = projectPermissions.Where(t => t.ProjectCode == projectCode).FirstOrDefault();

            return((perm.DailySmsCount >= perm.MaxSmsLimit) ? false : true);
        }
Exemplo n.º 15
0
 public void RegisterProject(ProjectPermission permission)
 {
     projectPermissions.Add(permission);
     _sQliteAuth.RegisterProject(permission);
 }
Exemplo n.º 16
0
 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();
     }
 }
Exemplo n.º 17
0
 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();
     }
 }
Exemplo n.º 18
0
        /// <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();
        }
Exemplo n.º 19
0
        /// <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);
        }