public void AddIdeaAssignment(IIdeaDatabaseDataContext dc, IdeaAssignment ideaAssignment)
 {
     if (ideaAssignment != null)
     {
         dc.IdeaAssignments.Add(ideaAssignment);
     }
 }
        public void SubmitIdeaAssignment(ResponseBase response, int IdeaId)
        {
            DatabaseWrapper.databaseOperation(response,
                                              (context, query) =>
            {
                List <IdeaAssignment> ideaAssignmentsList = new List <IdeaAssignment>();

                Role roles = query.GetAllRoleMappings(context, RoleTypes.REVIEWER.ToString());

                if (roles == null || roles.RoleMappings.Count == 0)
                {
                    response.ErrorList.Add(Faults.ReviewerNotExists);
                    return;
                }

                foreach (var users in roles.RoleMappings)
                {
                    IdeaAssignment ideaAssignment1 = new IdeaAssignment()
                    {
                        IdeaId = IdeaId, ReviewByUserId = users.UserId, IsActive = true, CreatedDate = DateTime.UtcNow
                    };
                    ideaAssignmentsList.Add(ideaAssignment1);
                }

                query.AddUserAssignmentToIdea(context, ideaAssignmentsList);
                context.SubmitChanges();
            }
                                              , readOnly: false
                                              );
        }
Esempio n. 3
0
        public void SubmitIdeaAssignments(RestAPIAddIdeaStateResponse response, int UserId, int IdeaId, int ideaState)
        {
            DatabaseWrapper.databaseOperation(response,
                                              (context, query) =>
            {
                Role roles = null;
                RoleMapping roleMapping   = null;
                IdeaAssignment assignment = null;

                if (ideaState == (int)IdeaStatusTypes.ReviewPending)
                {
                    roles = query.GetAllRoleMappings(context, RoleTypes.REVIEWER.ToString());
                }
                else if (ideaState == (int)IdeaStatusTypes.SponsorPending)
                {
                    roles = query.GetAllRoleMappings(context, RoleTypes.SPONSOR.ToString());
                }
                else if (ideaState == (int)IdeaStatusTypes.Sponsored)
                {
                    roles = query.GetAllRoleMappings(context, RoleTypes.SALES.ToString());
                }

                if (roles == null || roles.RoleMappings.Count == 0)
                {
                    response.ErrorList.Add(Faults.ReviewerNotExists);
                    return;
                }

                roleMapping = query.GetUserRoleMappingByRoleId(context, roles.RoleId);
                assignment  = query.GetAssignmentByIdeaId(context, IdeaId);

                if (assignment != null)
                {
                    assignment.ReviewByUserId = roleMapping.UserId;
                }
                else
                {
                    IdeaAssignment ideaassignment = new IdeaAssignment()
                    {
                        IdeaId = IdeaId, ReviewByUserId = roleMapping.UserId, IsActive = true, CreatedDate = DateTime.UtcNow
                    };
                    query.AddIdeaAssignment(context, ideaassignment);
                }

                context.SubmitChanges();
            }
                                              , readOnly: false
                                              );
        }