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));
            }
        }
    }
Exemple #2
0
 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);
        }
    }