public JsonResult ChangeRequirementStatus(ChangeRequirementStatusViewModel vm) { var selectedRequirement = _requirementRepository.Get(vm.RequirementId); if (selectedRequirement != null) { selectedRequirement.RequirementStatus = vm.Status; selectedRequirement.UpdatedByUserId = WebUser.Id; // Add it as an Activity var newActivity = new RequirementActivity { Title = vm.Status.ToString(), Comment = vm.Comment, RequirementId = selectedRequirement.Id }; AddRequirementActivity(newActivity); _requirementRepository.Update(selectedRequirement); _unitOfWork.Commit(); return(Json(true)); } return(Json(false)); }
public JsonResult SubmitProposal(ChangeRequirementViewModel vm) { var selectedRequirement = _requirementRepository.Get(vm.RequirementId); if (selectedRequirement != null) { selectedRequirement.RequirementStatus = RequirementStatus.Proposed; selectedRequirement.RespondedOn = DateTime.UtcNow; selectedRequirement.UpdatedByUserId = WebUser.Id; // Add it as an Activity var newActivity = new RequirementActivity { Title = "Proposed", Comment = vm.Comment, RequirementId = selectedRequirement.Id }; AddRequirementActivity(newActivity); _requirementRepository.Update(selectedRequirement); _unitOfWork.Commit(); return(Json(true)); } return(Json(false)); }
public JsonResult SubmitTechnicalReviewContent(ChangeRequirementViewModel vm) { var selectedRequirement = _requirementRepository.Get(vm.RequirementId); if (selectedRequirement != null) { selectedRequirement.RequirementStatus = RequirementStatus.TechnicalReviewCompleted; selectedRequirement.UpdatedByUserId = WebUser.Id; // Add it as an Activity var newActivity = new RequirementActivity { Title = "Technical Review Submitted", Comment = vm.Comment, RequirementId = selectedRequirement.Id }; AddRequirementActivity(newActivity); _requirementRepository.Update(selectedRequirement); _unitOfWork.Commit(); return(Json(true)); } return(Json(false)); }
private void AddRequirementActivity(RequirementActivity newActivity) { newActivity.CreatedByUserId = WebUser.Id; _requirementActivityRepository.Create(newActivity); _unitOfWork.Commit(); // Send Email, Email Template name is hard corded - Need to change later // Replace the hard coded emails with settings or a team. #if !DEBUG _emailComposerService.SendRequirementUpdateEmail(newActivity.Id); #endif }
public ActionResult CreateActivity(RequirementActivityViewModel activity) { if (ModelState.IsValid) { var newActivity = new RequirementActivity { Comment = activity.NewComment, RequirementId = activity.Id, CreatedByUserId = WebUser.Id }; _requirementActivityRepository.Create(newActivity); _unitOfWork.Commit(); } return(RedirectToAction("Details", new { id = activity.Id })); }
public JsonResult AddNote(ChangeRequirementViewModel vm) { var selectedRequirement = _requirementRepository.Get(vm.RequirementId); if (selectedRequirement != null) { // Add it as an Activity var newActivity = new RequirementActivity { Title = vm.Title, Comment = vm.Comment, RequirementId = selectedRequirement.Id, CreatedOn = vm.CreatedOn }; AddRequirementActivity(newActivity, true); return(Json(true)); } return(Json(false)); }
public ActionResult Create(NewRequirementViewModel vm) { if (ModelState.IsValid) { var requirement = new Requirement { AssignedToUserId = vm.AssignedToUserId, ContactId = vm.ContactId, SourceId = vm.SourceId, CategoryId = vm.CategoryId, Title = vm.Title, Description = vm.Description, Url = vm.Url, BillingType = vm.BillingType, Budget = vm.Budget, PostedOn = vm.PostedOn.ToUniversalTime(), RequirementStatus = RequirementStatus.New, CreatedByUserId = WebUser.Id }; _requirementRepository.Create(requirement); _unitOfWork.Commit(); // Map the Technologies if (vm.TechnologyIds != null) { foreach (var technologyId in vm.TechnologyIds) { var newMap = new RequirementTechnologyMap { RequirementId = requirement.Id, TechnologyId = technologyId }; _requirementTechnologyMapRepository.Create(newMap); } _unitOfWork.Commit(); } // Add the activities var postedActivity = new RequirementActivity { Title = "Posted in Source", Comment = "Requirement was posted", RequirementId = requirement.Id, CreatedOn = requirement.PostedOn.ToUniversalTime(), CreatedByUserId = WebUser.Id }; _requirementActivityRepository.Create(postedActivity); var createdActivity = new RequirementActivity { Title = "Created", Comment = WebUser.Name + " created the requirement in Grid", RequirementId = requirement.Id, CreatedByUserId = WebUser.Id }; _requirementActivityRepository.Create(createdActivity); _unitOfWork.Commit(); // Send Email, Email Template name is hard corded - Need to change later // Replace the hard coded emails with settings or a team. #if !DEBUG _emailComposerService.SendNewRequirementEmail(requirement.Id); #endif return(RedirectToAction("Details", "Requirements", new { id = requirement.Id })); } ViewBag.Technologies = new MultiSelectList(_technologyRepository.GetAll(), "Id", "Title", vm.TechnologyIds); ViewBag.AssignedToUserId = new SelectList(_userRepository.GetAll("Person"), "Id", "Person.Name", vm.AssignedToUserId); ViewBag.ContactId = new SelectList(_crmContactRepository.GetAll("Person"), "Id", "Person.Name", vm.ContactId); ViewBag.CategoryId = new SelectList(_requirementCategoryRepository.GetAll(), "Id", "Title", vm.CategoryId); ViewBag.SourceId = new SelectList(_crmLeadSourceRepository.GetAll(), "Id", "Title", vm.SourceId); return(View(vm)); }