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);
        }
        public void UpdateAuditSubQueResMaterial(AuditSubjectReviewQuestionViewModel model)
        {
            var _auditreviewQusRes = GetSingle(model.AuditSubjectQuestionResponseID);

            _auditreviewQusRes.ImagePath = model.ImagePath;
            _auditreviewQusRes.ImageName = model.ImageName;
            base.Update(_auditreviewQusRes);
            this._unitOfWork.Save();
        }
Ejemplo n.º 3
0
        public async Task <HttpResponseMessage> SaveMaterial()
        {
            AuditSubjectReviewQuestionViewModel model = new AuditSubjectReviewQuestionViewModel();
            // Send OK Response along with saved file names to the client.
            var provider = await Request.Content.ReadAsMultipartAsync <InMemoryMultipartFormDataStreamProvider>(new InMemoryMultipartFormDataStreamProvider());

            //access form data
            NameValueCollection formData = provider.FormData;

            model.AuditSubjectQuestionResponseID = Convert.ToInt32(formData["AuditSubjectQuestionResponseID"]);
            //access files
            IList <HttpContent> files = provider.Files;

            if (files != null && files.Count > 0)
            {
                HttpContent file1        = files[0];
                var         thisFileName = file1.Headers.ContentDisposition.FileName.Trim('\"');

                model.ImageName = thisFileName;

                string filename = String.Empty;
                Stream input    = await file1.ReadAsStreamAsync();

                string directoryName = String.Empty;
                string URL           = String.Empty;

                var path = HttpRuntime.AppDomainAppPath;
                directoryName = System.IO.Path.Combine(path, "AuditSubjectQuestionResponseDocument");
                filename      = System.IO.Path.Combine(directoryName, thisFileName);

                string ext  = Path.GetExtension(filename);
                string guid = Guid.NewGuid().ToString();
                //model.FileExtension = ext;
                filename = System.IO.Path.Combine(directoryName, guid + ext);
                //Deletion exists file
                if (File.Exists(filename))
                {
                    File.Delete(filename);
                }
                Directory.CreateDirectory(@directoryName);
                using (Stream file = File.Create(filename))
                {
                    input.CopyTo(file);
                    //close file
                    file.Close();
                }
                model.ImagePath = "~/AuditSubjectQuestionResponseDocument/" + guid + ext;
            }
            this._IAuditSubjectQuestionResponseRepository.UpdateAuditSubQueResMaterial(model);
            var response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
        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);
                }
            }
        }