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); }
public string SavePostSvpQCForm(PostSvpQC postSvpQCForm) { var postSvpQCNumber = this.svpDataAccess.SavePostSvpQCForm(postSvpQCForm); this.SendPostSvpQCFormResponseMail(postSvpQCForm); return(postSvpQCNumber); }
public IActionResult SavePostSvpQCForm([FromBody] PostSvpQC postSvpQCForm) { postSvpQCForm.CreatedDateTime = DateTime.UtcNow.AddHours(5.5); var updatedForm = this._svpBusinessAccess.SavePostSvpQCForm(postSvpQCForm); return(Ok(updatedForm)); }
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); }
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()); }