public void AddIdeaStatus(IIdeaDatabaseDataContext dc, IdeaStatusLog ideaState) { if (ideaState != null) { dc.IdeaStatusLogs.Add(ideaState); } }
public RESTAPIStatusInterchange(IdeaStatusLog ideaState) { if (ideaState != null) { IdeaStatusId = ideaState.IdeaStatusLogId; Status = ideaState.IdeaState; CreatedDate = ideaState.CreatedDate; ModifiedByUserID = ideaState.ModifiedByUserId; } }
public void InsertStatus(RestAPIAddIdeaStateResponse response, int IdeaID, int ideaState, int UserId) { DatabaseWrapper.databaseOperation(response, (context, query) => { IdeaStatusLog ideaStatusLog = null; Idea idea = query.GetIdeaById(context, IdeaID); idea.IdeaStatusLogs.ToList().ForEach(x => x.IsActive = false); ideaStatusLog = new IdeaStatusLog() { IdeaId = IdeaID, IdeaState = ideaState, ModifiedByUserId = UserId, CreatedDate = DateTime.UtcNow, IsActive = true }; query.AddIdeaStatusHistory(context, ideaStatusLog); ideaAssignmentUtils.SubmitIdeaAssignments(response, UserId, IdeaID, ideaState); context.SubmitChanges(); } , readOnly: false ); }
public void AddIdeaStatusHistory(IIdeaDatabaseDataContext dc, IdeaStatusLog ideaState) { dc.IdeaStatusLogs.Add(ideaState); }
public RestAPIAddIdeaStateResponse InsertIdeaStatus(RestAPIAddIdeaStateResponse response, int IdeaID, int UserId) { IdeaStatusLog ideaStatusLog = null; List <RoleMapping> roleMappings = new List <RoleMapping>(); int ideaState = 0; bool result = false; RestAPIAddIdeaStateResponse restapiaddidearesponse = new RestAPIAddIdeaStateResponse(); DatabaseWrapper.databaseOperation(response, (context, query) => { ideaStatusLog = query.GetIdeaStatusByIdeaId(context, IdeaID); roleMappings = query.GetUserRoleMappings(context, UserId); if (roleMappings.Count > 0) { foreach (var role in roleMappings) { if (ideaStatusLog.IdeaState == (int)IdeaStatusTypes.ReviewPending) { if (role.RoleId == 3) { result = true; } } if (ideaStatusLog.IdeaState == (int)IdeaStatusTypes.SponsorPending) { if (role.RoleId == 4) { result = true; } } } } if (result == false) { response.ErrorList.Add(Faults.InsufficientPermissions); return; } if (ideaStatusLog.IdeaState == (int)IdeaStatusTypes.ReviewPending) { ideaState = (int)IdeaStatusTypes.SponsorPending; restapiaddidearesponse.IdeaState = EnumDescriptor.GetEnumDescription(IdeaStatusTypes.SponsorPending); } else if (ideaStatusLog.IdeaState == (int)IdeaStatusTypes.SponsorPending) { ideaState = (int)IdeaStatusTypes.Sponsored; restapiaddidearesponse.IdeaState = EnumDescriptor.GetEnumDescription(IdeaStatusTypes.Sponsored); } else { response.ErrorList.Add(Faults.InvalidIdeaStatus); response.Status = Failure; return; } statusUtils.InsertStatus(response, IdeaID, ideaState, UserId); context.SubmitChanges(); response.Status = Success; } , readOnly: false ); if (response == null && response.ErrorList.Count != 0) { response.ErrorList.Add(Faults.ServerIsBusy); } return(response); }
public void UpdateIdeaDraft(RestAPIUpdateDraftResponse response, RestAPIUpdateIdeaDraftRequest request, int UserID) { DatabaseWrapper.databaseOperation(response, (context, query) => { Idea idea = query.GetIdeaById(context, request.IdeaId); if (idea != null) { if (!string.IsNullOrEmpty(request.Title)) { idea.Title = request.Title; } if (!string.IsNullOrEmpty(request.Description)) { idea.Description = request.Description; } if (!string.IsNullOrEmpty(request.BusinessImpact)) { idea.BusinessImpact = request.BusinessImpact; } if (!string.IsNullOrEmpty(request.Solution)) { idea.Solution = request.Solution; } if (request.ChallengeId.GetValueOrDefault(0) != 0) { idea.ChallengeId = request.ChallengeId; } if (request.CategoryId.GetValueOrDefault(0) != 0) { idea.CategoryId = request.CategoryId; } idea.IsDraft = request.IsDraft; idea.ModifiedDate = DateTime.UtcNow; //insert idea status IdeaStatusLog ideaStatusLog = new IdeaStatusLog() { CreatedDate = DateTime.UtcNow, ModifiedByUserId = UserID, IsActive = true, IdeaState = request.IsDraft ? (int)IdeaStatusTypes.SubmitPending : (int)IdeaStatusTypes.ReviewPending }; idea.IdeaStatusLogs.Add(ideaStatusLog); context.SubmitChanges(); response.Status = Success; } else { response.ErrorList.Add(Faults.IdeaNotFound); response.Status = Failure; } } , readOnly: false ); if (response == null && response.ErrorList.Count != 0) { response.ErrorList.Add(Faults.ServerIsBusy); } }
public void SubmitIdeaRequest(RestAPISubmitIdeaResponse response, SubmitIdeaRequest submitIdeaRequest, int UserId) { DatabaseWrapper.databaseOperation(response, (context, query) => { Idea idea = new Idea(); IdeaCategory category = query.GetIdeaFromCategoryID(context, submitIdeaRequest.CategoryId); IdeaChallenge ideaChallenge = query.GetChallengeByID(context, submitIdeaRequest.ChallengeId); // insert category if (category != null) { idea.IdeaCategory = category; } //insert challenge if (ideaChallenge != null) { idea.ChallengeId = ideaChallenge.IdeaChallengeId; } //insert Ideacontributors if (!string.IsNullOrEmpty(submitIdeaRequest.IdeaContributors)) { List <string> contributors = GetContributorList(submitIdeaRequest.IdeaContributors); List <User> userList = query.GetUserByNames(context, contributors); foreach (var user in userList) { idea.IdeaContributors.Add(new IdeaContributor() { IdeaId = idea.IdeaId, UserId = user.UserId, CreatedDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow }); } } //insert idea status IdeaStatusLog ideaStatusLog = new IdeaStatusLog() { CreatedDate = DateTime.UtcNow, ModifiedByUserId = UserId, IsActive = true, IdeaState = submitIdeaRequest.IsDraft ? (int)IdeaStatusTypes.SubmitPending : (int)IdeaStatusTypes.ReviewPending }; idea.IdeaStatusLogs.Add(ideaStatusLog); idea.Title = submitIdeaRequest.Title; idea.Description = submitIdeaRequest.Description; idea.IsActive = true; idea.CreatedDate = DateTime.UtcNow; idea.ModifiedDate = DateTime.UtcNow; idea.BusinessImpact = submitIdeaRequest.BusinessImpact; idea.UserId = UserId; idea.IsSensitive = true; idea.Solution = submitIdeaRequest.Solution; idea.IsDraft = submitIdeaRequest.IsDraft; query.AddIdea(context, idea); context.SubmitChanges(); response.IdeaId = idea.IdeaId; response.Status = Success; } , readOnly: false ); if (response.ErrorList.Count != 0) { response.ErrorList.Add(Faults.ServerIsBusy); } }