public AuditSubjectReviewViewModel GetAuditSubjectReview(int AuditSubjectID, int AuditSubjectReviewID, int LoggedInUserId, int LoggedInOrganizationId)
        {
            var audsubrev = GetSingle(AuditSubjectID, AuditSubjectReviewID, LoggedInOrganizationId);
            AuditSubjectReviewViewModel model = Mapper.Map <AuditSubjectReview, AuditSubjectReviewViewModel>(audsubrev);

            if (audsubrev.AuditSubject != null)
            {
                model.Subject = audsubrev.AuditSubject.Subject;
            }

            foreach (var qr in audsubrev.AuditSubjectQuestionResponses)
            {
                AuditSubjectReviewQuestionViewModel qrViewModel = model.AuditSubjectQuestionResponses.FirstOrDefault(x => x.AuditSubjectQuestionResponseID == qr.AuditSubjectQuestionResponseID);
                qrViewModel.QuestionText = qr.AuditSubjectQuestion.QuestionText;
                if (qr.ObservationStatus == "OB")
                {
                    qrViewModel.Observation = true;
                }
                else if (qr.ObservationStatus == "NC")
                {
                    qrViewModel.NonCompliance = true;
                }
                else if (qr.ObservationStatus == "None")
                {
                    qrViewModel.None = true;
                }
            }

            return(model);
        }
        private void GenerateAuditSubjectReview(AuditSubject z, DateTime duedate)
        {
            List <DateTime> occurences = CommonMethods.GenerateAllDateFromCronExpression(z.FrequencyRecurrence, DateTime.Now, duedate);

            List <AuditSubjectReview> storedallsubrev = _IAuditSubjectReviewRepository.GetAllSubjectReview(z.AuditSubjectID, z.OrganizationID ?? 0);

            foreach (var sr in storedallsubrev)
            {
                bool isExist = occurences.Any(x => x == sr.PlannedAuditDate);
                if (!isExist)
                {
                    _IAuditSubjectReviewRepository.Delete(sr.AuditSubjectReviewID);
                }
            }
            this._unitOfWork.Save();

            foreach (DateTime auditdate in occurences)
            {
                bool isExist = storedallsubrev.Any(x => x.PlannedAuditDate == auditdate);
                if (!isExist)
                {
                    AuditSubjectReviewViewModel subrev = new AuditSubjectReviewViewModel();
                    subrev.AuditID          = z.AuditID;
                    subrev.SubjectID        = z.AuditSubjectID;
                    subrev.PlannedAuditDate = auditdate;
                    subrev.AuditDate        = null;
                    subrev.AuditorID        = z.AuditorID;
                    subrev.AuditeeID        = z.AuditeeID;
                    subrev.LocationID       = z.Location;
                    List <AuditSubjectQuestion> listauditsubjectqus = _IAuditSubjectQuestionRepository.GetAuditSubjectQuestionBuSubjectId(z.AuditSubjectID);
                    foreach (var asubqus in listauditsubjectqus)
                    {
                        AuditSubjectReviewQuestionViewModel asubqusres = new AuditSubjectReviewQuestionViewModel();
                        asubqusres.AuditSubjectQuestionID = asubqus.AuditSubjectQuestionID;
                        subrev.AuditSubjectQuestionResponses.Add(asubqusres);
                    }
                    subrev.Status = false;
                    _IAuditSubjectReviewRepository.AddUpdateAuditReview(subrev, 0, z.OrganizationID ?? 0);
                }
            }
        }
        public AuditSubjectReviewViewModel AddUpdateAuditReview(AuditSubjectReviewViewModel model, int LoggedInUserId, int LoggedInOrganizationId)
        {
            AuditSubjectReview _auditreview = Mapper.Map <AuditSubjectReviewViewModel, AuditSubjectReview>(model);

            _auditreview.OrganizationID = LoggedInOrganizationId;
            if (model.AuditSubjectReviewID == 0)
            {
                foreach (var auditsubrevquesresp in model.AuditSubjectQuestionResponses)
                {
                    var _auditreviewQusRes = _auditreview.AuditSubjectQuestionResponses.FirstOrDefault(x => x.AuditSubjectQuestionID == auditsubrevquesresp.AuditSubjectQuestionID);

                    if (auditsubrevquesresp.Observation == true)
                    {
                        _auditreviewQusRes.ObservationStatus = "OB";
                    }
                    else if (auditsubrevquesresp.NonCompliance == true)
                    {
                        _auditreviewQusRes.ObservationStatus = "NC";
                    }
                    else if (auditsubrevquesresp.NonCompliance == true)
                    {
                        _auditreviewQusRes.ObservationStatus = "None";
                    }
                }
                base.Insert(_auditreview);
            }
            else
            {
                _auditreview           = GetSingle(model.SubjectID, model.AuditSubjectReviewID, LoggedInOrganizationId);
                _auditreview.AuditeeID = model.AuditeeID;
                _auditreview.AuditDate = model.AuditDate;
                _auditreview.Status    = model.Status;
                _auditreview.Comment   = model.Comment;
                base.Update(_auditreview);

                _IAuditSubjectQuestionResponseRepository.UpdateAuditSubQueRes(model);
            }
            this._unitOfWork.Save();
            model = Mapper.Map <AuditSubjectReview, AuditSubjectReviewViewModel>(_auditreview);
            return(model);
        }
        public void UpdateAuditSubQueRes(AuditSubjectReviewViewModel model)
        {
            foreach (var auditsubrevquesresp in model.AuditSubjectQuestionResponses)
            {
                AuditSubjectQuestionResponse _auditreviewQusRes = GetSingle(auditsubrevquesresp.AuditSubjectQuestionResponseID);
                _auditreviewQusRes.Comment = auditsubrevquesresp.Comment;
                //_auditreviewQusRes.Observation = auditsubrevquesresp.Observation;
                //_auditreviewQusRes.NonCompliance = auditsubrevquesresp.NonCompliance;
                if (auditsubrevquesresp.Observation == true)
                {
                    _auditreviewQusRes.ObservationStatus = "OB";
                }
                else if (auditsubrevquesresp.NonCompliance == true)
                {
                    _auditreviewQusRes.ObservationStatus = "NC";
                }
                else if (auditsubrevquesresp.None == true)
                {
                    _auditreviewQusRes.ObservationStatus = "None";
                }

                base.Update(_auditreviewQusRes);
            }
        }
Esempio n. 5
0
 public AuditSubjectReviewViewModel AddUpdateAuditReview(AuditSubjectReviewViewModel model)
 {
     model.Status = true;
     return(this._IAuditSubjectReviewRepository.AddUpdateAuditReview(model, base.UserId, base.OrganizationId));
 }