public string SavePostSvpQCForm(PostSvpQC postSvpQCForm)
        {
            int newFormNumber = 1;

            IQueryable <SerialNumbertrackerRA> queryableSerialNumberTrackerRAData = this.unitOfWork.DbContext.SerialNumbertrackerRA
                                                                                    .Where(x => x.UserCode == postSvpQCForm.CreatedBy && x.FormType == "PO");

            if (queryableSerialNumberTrackerRAData.Any())
            {
                newFormNumber = queryableSerialNumberTrackerRAData.Max(y => y.SerialValue) + 1;;
            }
            string padding = "000";
            string serialNumberComponent = padding.Remove(padding.Length - newFormNumber.ToString().Length) + (newFormNumber).ToString();

            postSvpQCForm.PostSvpQCNumber = "PO-" + postSvpQCForm.CreatedBy + "-" + serialNumberComponent;

            /*Form entry*/
            PostSvpQC PostSvpQCObj = this.unitOfWork.DbContext.PostSvpQC.Add(postSvpQCForm);

            /*Serial Number updation*/
            SerialNumbertrackerRA serialNumbertrackerRAObj = new SerialNumbertrackerRA
            {
                FormType      = "PO",
                UserCode      = postSvpQCForm.CreatedBy,
                SerialValue   = newFormNumber,
                GeneratedDate = DateTime.UtcNow.AddHours(5.5)
            };

            serialNumbertrackerRAObj = this.unitOfWork.DbContext.SerialNumbertrackerRA.Add(serialNumbertrackerRAObj);

            this.unitOfWork.DbContext.SaveChanges();

            return(PostSvpQCObj.PostSvpQCNumber);
        }
Exemple #2
0
        public string SavePostSvpQCForm(PostSvpQC postSvpQCForm)
        {
            var postSvpQCNumber = this.svpDataAccess.SavePostSvpQCForm(postSvpQCForm);

            this.SendPostSvpQCFormResponseMail(postSvpQCForm);
            return(postSvpQCNumber);
        }
Exemple #3
0
        public IActionResult SavePostSvpQCForm([FromBody] PostSvpQC postSvpQCForm)
        {
            postSvpQCForm.CreatedDateTime = DateTime.UtcNow.AddHours(5.5);

            var updatedForm = this._svpBusinessAccess.SavePostSvpQCForm(postSvpQCForm);

            return(Ok(updatedForm));
        }
Exemple #4
0
        public void SendPostSvpQCFormResponseMail(PostSvpQC postSvpQCForm)
        {
            var generatedPdfTemplateString = pdfTemplate.PostSvpQCFormMailGenerator(postSvpQCForm);
            var redAlertQCUser             = this.svpDataAccess.GetUserDetails(postSvpQCForm.CreatedBy);

            string subject = $"Team ORA - Confirmation: Post-SVP QC Form {postSvpQCForm.PostSvpQCNumber} Received ";
            string body    = $"<img src='https://drive.google.com/uc?id=1Ri4dvgKuyRlK3MYxgqueIDO3OFyBKe5a'/> <br/>Dear {redAlertQCUser.PrimaryContact}, " +
                             $"<br/><br/><br/>We acknowledge the receipt of your Post-SVP QC Visit report for the village code {postSvpQCForm.VillageCode}." +
                             $" Please find the attached PDF for the submitted details.<br/><br/>Let's strive to make our programs better and better and our impact bigger and bigger !" +
                             $"<br/><br/>Team ORA";
            string pdfName = $"{postSvpQCForm.PostSvpQCNumber}.pdf";

            qcPdfMailer.SendMailToUser(generatedPdfTemplateString, redAlertQCUser.UserName, subject, body, pdfName);
        }
Exemple #5
0
        public string PostSvpQCFormMailGenerator(PostSvpQC postSvpQCForm)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<br/><br/> <hr size='5' style='background-color:#E00'/><br/>" +
                      "<table cellpadding='10' style='border-spacing:15px 0rem; font-family:'Times New Roman', Times, serif; font-size:16px;'>" +
                      "<tr><td style='width:350px;word-wrap:break-word;'>Post-SVP QC Number :</td><td>");
            sb.Append(postSvpQCForm.PostSvpQCNumber);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Village Code :</td><td>");
            sb.Append(postSvpQCForm.VillageCode);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Post-SVP QC visit date :</td><td>");
            sb.Append(postSvpQCForm.PostSvpQCDate);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Was the CVC formed/strengthened (if already existed) :</td><td>");
            sb.Append(postSvpQCForm.CVCStatus);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Was any other committee/club formed to address the issues ? :</td><td>");
            sb.Append(postSvpQCForm.WasAnyAnotherClubFormed);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Was village leadership proactive in Anti-Trafficking efforts? :</td><td>");
            sb.Append(postSvpQCForm.WasVillageLeadershipProActive);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Do villagers remember the SVP ? :</td><td>");
            sb.Append(postSvpQCForm.DoVillagersRememberSVP);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Trafficking count before SVP :</td><td>");
            sb.Append(postSvpQCForm.TrafficCountBeforeSVP);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Trafficking count after SVP :</td><td>");
            sb.Append(postSvpQCForm.TrafficCountAfterSVP);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Child marriage count before SVP :</td><td>");
            sb.Append(postSvpQCForm.ChildMarriageCountBeforeSVP);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Child marriage count after SVP :</td><td>");
            sb.Append(postSvpQCForm.ChildMarriageCountAfterSVP);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Was any follow up done by the NGO in this village ? :</td><td>");
            sb.Append(postSvpQCForm.WasFollowUpDoneByNGO);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Are stickers, providing helpline and other information, still intact ? :</td><td>");
            sb.Append(postSvpQCForm.AreInfoStickersIntact);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Would you classify this village as a Safe Village for girls ? :</td><td>");
            sb.Append(postSvpQCForm.IsVillageSafeForGirls);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Brief summary of Success story :</td><td>");
            sb.Append(postSvpQCForm.SuccessStory);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Do you think a follow-up SVP is needed in this location ? Give reason. :</td><td>");
            sb.Append(postSvpQCForm.IsFollowUpSvpRequiredDesc);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Do people remember the Helpline and still know how to use it ? :</td><td>");
            sb.Append(postSvpQCForm.DoPeopleRememberHelpline);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Were Pre-SVP and SVP forms sent by the NGO ? :</td><td>");
            sb.Append(postSvpQCForm.WereIpFormsSubmitted);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Status of Rakshak :</td><td>");
            sb.Append(postSvpQCForm.RakshakStatus);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Field Worker Names :</td><td>");
            sb.Append(postSvpQCForm.FieldWorkerNames);
            sb.Append("</td></tr>");
            sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Summary :</td><td>");
            sb.Append(postSvpQCForm.Summary);
            sb.Append("</td></tr>");
            sb.Append("</table><br/><br/><hr size='5' style='background-color:#E00'/><br/>");

            return(sb.ToString());
        }