// GET: QualityAttributesMetrics/Create
        public ActionResult Create()
        {
            QualityAttributesMetric qualityAttributesMetric = new QualityAttributesMetric();

            ViewBag.SubjectId  = new SelectList(_oSubjectService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.FactorId   = new SelectList(_oFactorService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.CriteriaId = new SelectList(_oCriteriaService.GetAll(sort: "Name"), "Id", "Name");
            List <SelectListItem> lstQualityAttributesMetrics = new List <SelectListItem>();

            lstQualityAttributesMetrics.Add(new SelectListItem()
            {
                Text = " ", Value = Guid.Empty.ToString()
            });
            foreach (var attributesMetric in _oQualityAttributesMetricService.GetAll(sort: "Name"))
            {
                lstQualityAttributesMetrics.Add(new SelectListItem()
                {
                    Text = attributesMetric.Name, Value = attributesMetric.Id.ToString()
                });
            }

            ViewBag.AgainstId = lstQualityAttributesMetrics;

            ViewBag.RelatedToId = lstQualityAttributesMetrics;
            return(View(qualityAttributesMetric));
        }
        // GET: QualityAttributesMetrics/Edit/5
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            QualityAttributesMetric qualityAttributesMetric = _oQualityAttributesMetricService.GetById(id.Value);

            if (qualityAttributesMetric == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SubjectId  = new SelectList(_oSubjectService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.FactorId   = new SelectList(_oFactorService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.CriteriaId = new SelectList(_oCriteriaService.GetAll(sort: "Name"), "Id", "Name");

            List <SelectListItem> lstQualityAttributesMetrics = new List <SelectListItem>();

            lstQualityAttributesMetrics.Add(new SelectListItem()
            {
                Text = " ", Value = Guid.Empty.ToString()
            });
            foreach (var attributesMetric in _oQualityAttributesMetricService.GetAll(sort: "Name").Where(x => x.Id != qualityAttributesMetric.Id))
            {
                lstQualityAttributesMetrics.Add(new SelectListItem()
                {
                    Text = attributesMetric.Name, Value = attributesMetric.Id.ToString()
                });
            }

            ViewBag.AgainstId = lstQualityAttributesMetrics;

            ViewBag.RelatedToId = lstQualityAttributesMetrics; return(View(qualityAttributesMetric));
        }
        // GET: QualityAttributesMetrics/Details/5
        public ActionResult Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            QualityAttributesMetric qualityAttributesMetric = _oQualityAttributesMetricService.GetById(id.Value);

            if (qualityAttributesMetric == null)
            {
                return(HttpNotFound());
            }
            return(View(qualityAttributesMetric));
        }
        public ActionResult Create([Bind(Include = "Id,Name,Description,CriteriaId,TypeOfMetric,Quantification,StandardValue,EvaluationValue,RouteBased,RelatedToId,AgainstId,CreationDate,LastUpdated,RowVersion")] QualityAttributesMetric qualityAttributesMetric)
        {
            if (qualityAttributesMetric.AgainstId.Value == Guid.Empty)
            {
                qualityAttributesMetric.AgainstId = null;
            }
            if (qualityAttributesMetric.RelatedToId.Value == Guid.Empty)
            {
                qualityAttributesMetric.RelatedToId = null;
            }

            if (ModelState.IsValid)
            {
                qualityAttributesMetric.Id = Guid.NewGuid();
                _oQualityAttributesMetricService.Add(qualityAttributesMetric);
                return(RedirectToAction("Index"));
            }

            ViewBag.SubjectId  = new SelectList(_oSubjectService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.FactorId   = new SelectList(_oFactorService.GetAll(sort: "Name"), "Id", "Name");
            ViewBag.CriteriaId = new SelectList(_oCriteriaService.GetAll(sort: "Name"), "Id", "Name");
            List <SelectListItem> lstQualityAttributesMetrics = new List <SelectListItem>();

            lstQualityAttributesMetrics.Add(new SelectListItem()
            {
                Text = " ", Value = Guid.Empty.ToString()
            });
            foreach (var attributesMetric in _oQualityAttributesMetricService.GetAll(sort: "Name"))
            {
                lstQualityAttributesMetrics.Add(new SelectListItem()
                {
                    Text = attributesMetric.Name, Value = attributesMetric.Id.ToString()
                });
            }

            ViewBag.AgainstId = lstQualityAttributesMetrics;

            ViewBag.RelatedToId = lstQualityAttributesMetrics;

            return(View(qualityAttributesMetric));
        }