public string SavePreSvpForm(PreSvp preSvpForm) { int newFormNumber = 1; IQueryable <SerialNumbertrackerRA> queryableSerialNumberTrackerRAData = this.unitOfWork.DbContext.SerialNumbertrackerRA .Where(x => x.UserCode == preSvpForm.CreatedBy && x.FormType == "PV"); if (queryableSerialNumberTrackerRAData.Any()) { newFormNumber = queryableSerialNumberTrackerRAData.Max(y => y.SerialValue) + 1; } string padding = "000"; string serialNumberComponent = padding.Remove(padding.Length - newFormNumber.ToString().Length) + (newFormNumber).ToString(); preSvpForm.PreSvpNumber = "PV-" + preSvpForm.CreatedBy + "-" + serialNumberComponent; /*Form entry */ PreSvp preSvpObj = this.unitOfWork.DbContext.PreSvp.Add(preSvpForm); /*Serial Number updation*/ SerialNumbertrackerRA serialNumbertrackerRAObj = new SerialNumbertrackerRA { FormType = "PV", UserCode = preSvpForm.CreatedBy, SerialValue = newFormNumber, GeneratedDate = DateTime.UtcNow.AddHours(5.5) }; serialNumbertrackerRAObj = this.unitOfWork.DbContext.SerialNumbertrackerRA.Add(serialNumbertrackerRAObj); this.unitOfWork.DbContext.SaveChanges(); return(preSvpObj.PreSvpNumber); }
public string SavePreSvpForm(PreSvp preSvpForm) { var preSVPNumber = this.svpDataAccess.SavePreSvpForm(preSvpForm); this.SendPreSVPFormResponseMail(preSvpForm); return(preSVPNumber); }
public IActionResult SavePreSvpForm([FromBody] PreSvp preSvpForm) { preSvpForm.CreatedDateTime = DateTime.UtcNow.AddHours(5.5); var updatedForm = this._svpBusinessAccess.SavePreSvpForm(preSvpForm); return(Ok(updatedForm)); }
public void SendPreSVPFormResponseMail(PreSvp preSvpForm) { var generatedPdfTemplateString = pdfTemplate.PreSVPMailGenerator(preSvpForm); var redAlertUser = this.svpDataAccess.GetUserDetails(preSvpForm.CreatedBy); string subject = $"Team ORA - Confirmation: Pre-SVP Form {preSvpForm.PreSvpNumber} Received "; string body = $"<img src='https://drive.google.com/uc?id=1Ri4dvgKuyRlK3MYxgqueIDO3OFyBKe5a'/> <br/>Dear {redAlertUser.Organization}, " + $"<br/><br/><br/>We received the Pre-SVP form for the village code {preSvpForm.VillageCode}. " + $"Please find the attached PDF for the submitted details.<br/><br/>Wish you all the best for the upcoming programs." + $"<br/><br/>Team ORA";; string pdfName = $"{preSvpForm.PreSvpNumber}.pdf"; ipPdfMailer.SendMailToUser(generatedPdfTemplateString, redAlertUser.UserName, subject, body, pdfName); }
public string PreSVPMailGenerator(PreSvp preSvpForm) { 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;'>Pre-SVP Number :</td><td>"); sb.Append(preSvpForm.PreSvpNumber); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Village Code :</td><td>"); sb.Append(preSvpForm.VillageCode); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Pre-SVP Date :</td><td>"); sb.Append(preSvpForm.PreSvpDate.ToShortDateString()); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>One Way distance to village(kms) :</td><td>"); sb.Append(preSvpForm.DistanceToVillageInKms); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Village Location description :</td><td>"); sb.Append(preSvpForm.LocationDesc); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Major source of income :</td><td>"); sb.Append(preSvpForm.MajorSourceOfIncome); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Details of active Community Groups (SHG/CVC) to facilitate the program:</td><td>"); sb.Append(preSvpForm.ActiveCommunityGroup); sb.Append("</td></tr>"); sb.Append("<tr><td><br/></td><td><br/></td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Child Abuse count :</td><td>"); sb.Append(preSvpForm.ChildAbuseCount); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Domestic violence case count :</td><td>"); sb.Append(preSvpForm.DomesticViolenceCasesCount); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Trafficking cases count :</td><td>"); sb.Append(preSvpForm.TraffickingCasesCount); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Missing cases count :</td><td>"); sb.Append(preSvpForm.MissingCasesCount); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>School drop out count :</td><td>"); sb.Append(preSvpForm.SchoolDropoutsCount); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Details of any trafficking-prone villages in neighbourhood :</td><td>"); sb.Append(preSvpForm.NeighbouringTrafficProneDesc); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Local issues :</td><td>"); sb.Append(preSvpForm.LocalIssuesDesc); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Awareness about trafficking :</td><td>"); sb.Append(preSvpForm.AwarenessDesc); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Causes of trafficking description :</td><td>"); sb.Append(preSvpForm.TraffickingCausesDesc); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Previous Anti-Trafficking awarness programs :</td><td>"); sb.Append(preSvpForm.PreviousAwareness); sb.Append("</td></tr>"); sb.Append("<tr><td style = 'width:350px; word-wrap: break-word;'>Details of previous anti-tracking awareness program :</td><td>"); sb.Append(preSvpForm.PreviousAwarenessDesc); sb.Append("</td></tr>"); sb.Append("</table><br/><br/><hr size='5' style='background-color:#E00'/><br/>"); return(sb.ToString()); }