protected void btnGenerate_Click(object sender, EventArgs e) { Button btnGenerate = (Button)sender; GridViewRow gvRow = (GridViewRow)btnGenerate.Parent.Parent; Guid newUID = new Guid(); var xmldoc = new XmlDocument(); XmlNode messageSpec = xmldoc.CreateNode(XmlNodeType.Element, "MessageSpec", null); var countryCode = gvRow.Cells[0].Text.Split('-')[1].Trim(); var country = gvRow.Cells[0].Text.Split('-')[0].Trim(); var year = int.Parse(gvRow.Cells[1].Text); if (ValidateRequiredFields(year)) { decimal id = 0; var package = Common.GenerateNewPackage(countryCode, dpReportingPeriod.Text, ref messageSpec, id); if (!string.IsNullOrEmpty(package.ToString())) { var outgoingCBC = new OutGoingCBCDeclarations() { Id = id, Country = countryCode, CBCData = package.ToString(), NSCBCData = null, StatusId = 2, Year = year, ReportingPeriod = DateTime.Parse(dpReportingPeriod.Text), CreatedBy = Sars.Systems.Security.ADUser.CurrentSID }; id = DatabaseWriter.SaveOutgoingCBC(outgoingCBC, ref newUID); if (id > 0) { var newPackage = Common.GenerateNewPackage(countryCode, dpReportingPeriod.Text, ref messageSpec, id); var newMessageSpec = messageSpec; var nmPackage = Common.GenerateNMPackage(countryCode, dpReportingPeriod.Text, newMessageSpec); var newPackagedCBC = new OutGoingCBCDeclarations() { Id = id, Country = countryCode, CBCData = newPackage.ToString(), NSCBCData = nmPackage, StatusId = 2, Year = year, CreatedBy = Sars.Systems.Security.ADUser.CurrentSID }; var saved = DatabaseWriter.SaveOutgoingCBC(newPackagedCBC, ref newUID); } DBWriteManager.Insert_OutgoingPackageAuditTrail(newUID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Package for {0} generated", country)); LoadCBC(); MessageBox.Show(string.Format("Package for {0} was successfully generated", country)); } } }
private void SavePackage(StringBuilder package, decimal id, string countryCode, int year) { Guid newUid = new Guid(); var outgoingCBC = new OutGoingCBCDeclarations() { Id = id, Country = countryCode, NSCBCData = package.ToString(), StatusId = 3, Year = year, CreatedBy = Sars.Systems.Security.ADUser.CurrentSID }; decimal saved = DatabaseWriter.SaveOutgoingCBC(outgoingCBC, ref newUid); }
protected void btnVoid_Click(object sender, EventArgs e) { Guid newUid = new Guid(); Button btnVoid = (Button)sender; GridViewRow gvRow = (GridViewRow)btnVoid.Parent.Parent; var email = ADUser.CurrentUser.Mail; string[] senderEmail = { email }; var countryCode = gvRow.Cells[0].Text.Split('-')[1].Trim(); var reportingPeriod = gvRow.Cells[1].Text; var outCBC = DBReadManager.OutGoingCBCDeclarationsDetails(countryCode, reportingPeriod); var id = string.IsNullOrEmpty(outCBC.Id.ToString()) ? 0 : outCBC.Id; var reportP = DateTime.Parse(reportingPeriod).ToString("yyyy-MM-ddTHH:mm:ss"); Guid uid = new Guid(); if (outCBC != null) { var prepareVoidPackage = PrepareNMVoidPackage(id, countryCode, outCBC.NMCBC, reportingPeriod); var nmPackage = prepareVoidPackage; uid = outCBC.UID; var voidedCBC = new OutGoingCBCDeclarations() { Id = id, Country = countryCode, CBCData = prepareVoidPackage, StatusId = 8, Year = int.Parse(reportingPeriod.Substring(0, 4)), UID = uid, ActionId = 3, NSCBCData = nmPackage, ReportingPeriod = DateTime.Parse(reportP), CreatedBy = Sars.Systems.Security.ADUser.CurrentSID }; decimal saved = DatabaseWriter.SaveOutgoingCBC(voidedCBC, ref uid); DBWriteManager.ApproveOutgoingPackage(id, countryCode, reportingPeriod, 8, ADUser.CurrentSID); DBWriteManager.Insert_OutgoingPackageAuditTrail(outCBC.UID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Outgoing Package for {0} Pending Void Review", gvRow.Cells[0].Text.Split('-')[0].Trim())); var Subject = "Outgoing Package pending void review "; Common.SendEmailToRole("Reviewer", outCBC.CountryName, Subject, FDRPage.Statuses.Voided, senderEmail); MessageBox.Show("Package pending void review"); LoadCBC(); } }
protected void btnCorrect_Click(object sender, EventArgs e) { if (Request.QueryString["ccode"] != null && Request.QueryString["period"] != null) { FDRPage fPage = new FDRPage(); Guid newUid = new Guid(); var country = Request.QueryString["ccode"].ToString(); var reportingPeriod = Request.QueryString["period"].ToString(); var outCBC = DBReadManager.OutGoingCBCDeclarationsDetails(country, reportingPeriod); decimal id = string.IsNullOrEmpty(outCBC.Id.ToString()) ? 0 : outCBC.Id; var package = Common.GenerateCorrectionPackage(country, reportingPeriod); var email = ADUser.CurrentUser.Mail; string[] senderEmail = { email }; if (!string.IsNullOrEmpty(package.ToString())) { var outgoingCBC = new OutGoingCBCDeclarations() { Id = id, Country = country, CBCData = package.ToString(), StatusId = 7, Year = int.Parse(reportingPeriod.Substring(0, 4)), CreatedBy = Sars.Systems.Security.ADUser.CurrentSID }; decimal saved = DatabaseWriter.SaveOutgoingCBC(outgoingCBC, ref newUid); DBWriteManager.ApproveOutgoingPackage(id, country, reportingPeriod, 7, ADUser.CurrentSID); DBWriteManager.Insert_OutgoingPackageAuditTrail(outCBC.UID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Outgoing Package for {0} corrected", gvCBC.Rows[0].Cells[0].Text.Split('-')[0].Trim())); var Subject = "Outgoing CBC Report has been corrected "; Common.SendEmailToRole("Reviewer", outCBC.CountryName, Subject, FDRPage.Statuses.Corrected, senderEmail); LoadCBC(country, reportingPeriod); MessageBox.Show("Package has been corrected successfully"); } else { MessageBox.Show("No package was corrected"); } } }
protected void btnGenerateSingle_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(1000); try { Button btnGenerate = (Button)sender; GridViewRow gvRow = (GridViewRow)btnGenerate.Parent.Parent; Guid newUID = new Guid(); var xmldoc = new XmlDocument(); XmlNode messageSpec = xmldoc.CreateNode(XmlNodeType.Element, "MessageSpec", xmldoc.NamespaceURI); var countryCode = gvRow.Cells[0].Text.Split('-')[1].Trim(); var country = gvRow.Cells[0].Text.Split('-')[0].Trim(); var period = ddlReportingPeriod.SelectedIndex == 0? gvRow.Cells[1].Text: ddlReportingPeriod.SelectedValue; var year = int.Parse(gvRow.Cells[2].Text); if (ValidateRequiredFields(period)) { decimal id = 0; var outgoinCBC = DBReadManager.OutGoingCBCDeclarationsDetails(countryCode, period); if (outgoinCBC != null) { id = outgoinCBC.Id; var newPackage = Common.GenerateNewPackage(countryCode, period, ref messageSpec, id); var newMessageSpec = messageSpec; var nmPackage = newPackage; var newPackagedCBC = Utils.GetOutgoingCBCR(newPackage, countryCode, year, DateTime.Parse(period), Sars.Systems.Security.ADUser.CurrentSID, nmPackage, id); var saved = DatabaseWriter.SaveOutgoingCBC(newPackagedCBC, ref newUID); if (saved > 0) { DBWriteManager.Insert_OutgoingPackageAuditTrail(newUID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Outgoing Package for {0} generated", country)); } else { DBWriteManager.Insert_OutgoingPackageAuditTrail(outgoinCBC.UID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Outgoing Package for {0} generated", country)); } LoadCBC(); MessageBox.Show(string.Format("Package for {0} was successfully generated", country)); return; } var package = Common.GenerateNewPackage(countryCode, period, ref messageSpec, id); if (!string.IsNullOrEmpty(package.ToString())) { var outgoingCBC = Utils.GetOutgoingCBCR(package.ToString(), countryCode, year, DateTime.Parse(period), Sars.Systems.Security.ADUser.CurrentSID, null, id); id = DatabaseWriter.SaveOutgoingCBC(outgoingCBC, ref newUID); if (id > 0) { var newPackage = Common.GenerateNewPackage(countryCode, period, ref messageSpec, id); var newMessageSpec = messageSpec; var nmPackage = newPackage; var newPackagedCBC = Utils.GetOutgoingCBCR(newPackage, countryCode, year, DateTime.Parse(period), Sars.Systems.Security.ADUser.CurrentSID, nmPackage, id); var saved = DatabaseWriter.SaveOutgoingCBC(newPackagedCBC, ref newUID); } DBWriteManager.Insert_OutgoingPackageAuditTrail(newUID, Sars.Systems.Security.ADUser.CurrentSID, string.Format("Outgoing Package for {0} generated", country)); LoadCBC(); MessageBox.Show(string.Format("Outgoing Package for {0} was successfully generated", country)); } else { MessageBox.Show("No package was generated"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }