Example #1
0
        public ActionResult Get(int id)
        {
            var apiResult = TryExecute(() =>
            {
                var selectedRequirement = _requirementRepository.Get(id);
                return(new RequirementModel(selectedRequirement));
            }, "Requirement fetched sucessfully");

            return(Json(apiResult, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public JsonResult SubmitForTechnicalReview(ChangeRequirementViewModel vm)
        {
            var selectedRequirement = _requirementRepository.Get(vm.RequirementId);

            if (selectedRequirement != null)
            {
                selectedRequirement.RequirementStatus = RequirementStatus.NeedTechnicalReview;
                selectedRequirement.UpdatedByUserId   = WebUser.Id;

                // Add it as an Activity
                var newActivity = new RequirementActivity
                {
                    Title         = "Needs Technical Review",
                    Comment       = vm.Comment,
                    RequirementId = selectedRequirement.Id
                };

                AddRequirementActivity(newActivity);

                _requirementRepository.Update(selectedRequirement);
                _unitOfWork.Commit();

                return(Json(true));
            }

            return(Json(false));
        }
Example #3
0
        public EmailContext ComposeEmailContextForNewRequirement(int requirementId)
        {
            var emailContext        = new EmailContext();
            var selectedRequirement = _requirementRepository.Get(requirementId, "Category,CreatedByUser.Person");

            if (selectedRequirement != null)
            {
                emailContext.PlaceHolders = new List <PlaceHolder>
                {
                    new PlaceHolder("[CreatedByUser]", selectedRequirement.CreatedByUser.Person.Name),
                    new PlaceHolder("[Description]", selectedRequirement.Description),
                    new PlaceHolder("[Category]", selectedRequirement.Category.Title),
                    new PlaceHolder("[Url]", $"http://logiticks.gridintra.net/RMS/Requirements/Details/{selectedRequirement.Id}")
                };

                emailContext.Subject = $"New Requirement: {selectedRequirement.Title}";

                var settings = _settingsService.GetSiteSettings();
                if (settings.POCSettings != null)
                {
                    var selectedPOC = _userRepository.Get(settings.POCSettings.SalesDepartmentLevel1, "Person");
                    if (selectedPOC != null)
                    {
                        var pocAddress = new MailAddress(selectedPOC.OfficialEmail, selectedPOC.Person.Name);
                        emailContext.ToAddress.Add(pocAddress);
                    }

                    var selectedPOC2 = _userRepository.Get(settings.POCSettings.SalesDepartmentLevel2, "Person");
                    if (selectedPOC2 != null)
                    {
                        var pocAddress = new MailAddress(selectedPOC2.OfficialEmail, selectedPOC2.Person.Name);
                        emailContext.CcAddress.Add(pocAddress);
                    }
                }
            }

            return(emailContext);
        }