public void InsertChallenge(RestAPIAddIdeaChallengeResponse response, string ChallengeName, int AddedByUserId) { DatabaseWrapper.databaseOperation(response, (context, query) => { IdeaChallenge ideaChallenge = query.GetChallengeByName(context, ChallengeName); if (ideaChallenge == null) { ideaChallenge = new IdeaChallenge() { ChallengeName = ChallengeName, CreatedDate = DateTime.UtcNow, ModifiedDate = DateTime.UtcNow, AddedByUserId = AddedByUserId }; query.AddIdeaChallenge(context, ideaChallenge); response.Status = Enum.GetName(typeof(ResponseStatusType), ResponseStatusType.Success); } else { response.Status = Enum.GetName(typeof(ResponseStatusType), ResponseStatusType.Failure); response.ErrorList.Add(Faults.IdeaChallengeNameExists); return; } context.SubmitChanges(); } , readOnly: false ); if (response == null && response.ErrorList.Count != 0) { response.ErrorList.Add(Faults.ServerIsBusy); return; } }
public void AddIdeaChallenge(IIdeaDatabaseDataContext dc, IdeaChallenge ideaChallenge) { if (ideaChallenge != null) { dc.IdeaChallenges.Add(ideaChallenge); } }
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); } }