예제 #1
0
        private async void timDeleteBackup_Tick(object sender, EventArgs e)
        {
            // 1000 = 1 seconds
            // 60000 = 60 seconds / 1 minute
            // 1,800,000 = 30 minutes
            // 3,600,000 = 60 minutes / 1 hour

            timDeleteBackup.Enabled = false;

            if (Settings.Default["Local"].ToString() == "True" && BPrincipalCompany.Get().prco_daysdeletbackups__int > 0 && ObjUser.user_roleaccess__tinyint == 1)
            {
                tsslOperation.Text    = "Deleting older backups...";
                tsslOperation.Visible = true;

                if (await DeleteBackups())
                {
                    timDeleteBackup.Interval = 7200000;
                    timDeleteBackup.Enabled  = true;
                }
                else
                {
                    MessageBox.Show("It wasn't possible to delete one or severals backups files.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }

                tsslOperation.Text    = "...";
                tsslOperation.Visible = false;
            }
        }
예제 #2
0
        private async void timCreateBackup_Tick(object sender, EventArgs e)
        {
            // 1000 = 1 seconds
            // 60000 = 60 seconds / 1 minute
            // 1,800,000 = 30 minutes
            // 3,600,000 = 60 minutes / 1 hour

            timCreateBackup.Enabled = false;

            if (Settings.Default["Local"].ToString() == "True" && BPrincipalCompany.Get().prco_hoursbetweenbackups__int > 0 && ObjUser.user_roleaccess__tinyint == 1)
            {
                tsslOperation.Text    = "Checking storage backups...";
                tsslOperation.Visible = true;

                int inHoursToNext = await DoBackup();

                if (inHoursToNext != 0)
                {
                    timCreateBackup.Interval = (3600000 * inHoursToNext) + 60000;
                    timCreateBackup.Enabled  = true;
                }
                else
                {
                    MessageBox.Show(Preferences.GlobalErrorOperation, Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }

                tsslOperation.Text    = "...";
                tsslOperation.Visible = false;
            }
        }
예제 #3
0
        public static Task <bool> DeleteBackups()
        {
            return(Task.Run(() =>
            {
                if (Directory.Exists(Preferences.PathBackups))
                {
                    List <string> objList = Directory.GetFiles(Preferences.PathBackups, "*.bak").ToList();

                    if (objList != null)
                    {
                        objList.OrderBy(l => l);

                        int inDaysConfigirated = BPrincipalCompany.Get().prco_daysdeletbackups__int;

                        DateTime objDateNow = DateTime.Now;

                        for (int inCont = 0; inCont < objList.Count; inCont++)
                        {
                            if (objList[inCont].Split('\\').Length == 4 || objList[inCont].Split('\\')[3].Length == 63 || objList[inCont].Contains(Preferences.DatabaseName) && RegularExpressions.CheckIsNumeric(objList[inCont].Split('\\')[3].Substring(47, 12), 12, 12))
                            {
                                string stDateTime = objList.Last().Split('\\')[3].Substring(47, 12);

                                int inYear = Convert.ToInt32("20" + stDateTime.Substring(0, 2));
                                int inMonth = Convert.ToInt32(stDateTime.Substring(2, 2));
                                int inDay = Convert.ToInt32(stDateTime.Substring(4, 2));
                                int inHour = Convert.ToInt32(stDateTime.Substring(6, 2));
                                int inMinute = Convert.ToInt32(stDateTime.Substring(8, 2));
                                int inSecond = Convert.ToInt32(stDateTime.Substring(10, 2));

                                TimeSpan objTimeSpan = objDateNow - new DateTime(inYear, inMonth, inDay, inHour, inMinute, inSecond);

                                if (objTimeSpan.TotalHours > (inDaysConfigirated * 24))
                                {
                                    try
                                    {
                                        File.Delete(objList[inCont]);
                                    }
                                    catch { }
                                }
                            }
                        }

                        return true;
                    }
                }
                return false;
            }));
        }
        public void RefreshMainValues()
        {
            objPrincipalCompany = null;

            var vPrincipalCompany = BPrincipalCompany.Get();

            if (vPrincipalCompany != null)
            {
                objPrincipalCompany = vPrincipalCompany;

                RefreshStates();
                RefreshModes();

                txtRFC.Text      = vPrincipalCompany.prco_rfc__nvarchar;
                txtCompany.Text  = vPrincipalCompany.prco_name__nvarchar;
                txtAddress.Text  = vPrincipalCompany.prco_address__nvarchar;
                txtPhone.Text    = vPrincipalCompany.prco_phone__nvarchar;
                txtEmail.Text    = vPrincipalCompany.prco_email__nvarchar;
                txtFacebook.Text = vPrincipalCompany.prco_facebook__nvarchar;

                if (vPrincipalCompany.city_uuid__uniqueidentifier != null)
                {
                    var vCity = BCity.FindByUUID(vPrincipalCompany.city_uuid__uniqueidentifier.Value);

                    cboState.Text = BState.FindByUUID(vCity.stat_uuid__uniqueidentifier).stat_name__nvarchar;

                    cboCity.Text = vCity.city_name__nvarchar;

                    RefreshCities();
                }

                pcbLogo.Image = vPrincipalCompany.reso_uuid_logo__uniqueidentifier != null?Tools.ConvertirByteAImagen(BResource.FindByUUID(vPrincipalCompany.reso_uuid_logo__uniqueidentifier.Value).reso_value__varbinary) : null;

                cboMode.SelectedIndex  = vPrincipalCompany.prco_developmentmode__bit ? 0 : 1;
                nudHoursToBackup.Value = objPrincipalCompany.prco_hoursbetweenbackups__int;
                nudDaysToDelete.Value  = objPrincipalCompany.prco_daysdeletbackups__int;
            }
        }
        private void btnEdit_Click(object sender, EventArgs e)
        {
            var vPrincipalCompany = BPrincipalCompany.Get();

            if (vPrincipalCompany != null)
            {
                if (vPrincipalCompany.sess_uuid_used__uniqueidentifier == null)
                {
                    BPrincipalCompany.DisableToEdit(vPrincipalCompany.prco_uuid__uniqueidentifier, ObjForm_004.ObjSession);

                    txtRFC.Enabled           = true;
                    txtCompany.Enabled       = true;
                    txtAddress.Enabled       = true;
                    txtPhone.Enabled         = true;
                    txtEmail.Enabled         = true;
                    txtFacebook.Enabled      = true;
                    cboState.Enabled         = true;
                    cboCity.Enabled          = true;
                    pcbLogo.Enabled          = true;
                    cboMode.Enabled          = true;
                    nudHoursToBackup.Enabled = true;
                    nudDaysToDelete.Enabled  = true;

                    btnEdit.Visible   = false;
                    btnAccept.Visible = btnCancel.Visible = true;

                    btnClose.Enabled = false;

                    txtRFC.Focus();

                    byAction = 2;
                }
                else
                {
                    MessageBox.Show("It isn't possible edit this user because in other session some user is editing it.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
예제 #6
0
        public static Task <int> DoBackup()
        {
            return(Task.Run(() =>
            {
                try
                {
                    if (Directory.Exists(Preferences.PathBackups))
                    {
                        Directory.CreateDirectory(Preferences.PathBackups);
                    }

                    List <string> objList = Directory.GetFiles(Preferences.PathBackups, "*.bak").ToList();

                    if (objList != null)
                    {
                        objList.OrderBy(l => l);

                        for (int inCont = 0; inCont < objList.Count; inCont++)
                        {
                            if (objList[inCont].Split('\\').Length != 4 || objList[inCont].Split('\\')[3].Length != 63 || !objList[inCont].Contains(Preferences.DatabaseName) && !RegularExpressions.CheckIsNumeric(objList[inCont].Split('\\')[3].Substring(47, 12), 12, 12))//if (objList[inCont].Split('\\').Length != 4 || objList[inCont].Split('\\')[3].Length != 63 || !objList[inCont].Contains(Preferences.DatabaseName) && !RegularExpressions.CheckIsNumeric(objList.Last().Split('\\')[3].Substring(47, 12), 12, 12))
                            {
                                objList.RemoveAt(inCont);
                            }
                        }
                    }

                    DateTime objDateNow = DateTime.Now;

                    string stQuery = "USE master; BACKUP DATABASE " + Preferences.DatabaseName + " TO DISK = N'" + Preferences.PathBackups + "\\" + Preferences.DatabaseName + "_auto_" + DateTime.Now.Year.ToString().Substring(2, 2) + (objDateNow.Month < 10 ? "0" + objDateNow.Month : objDateNow.Month.ToString()) + (objDateNow.Day < 10 ? "0" + objDateNow.Day : objDateNow.Day.ToString()) + "" + (objDateNow.Hour < 10 ? "0" + objDateNow.Hour : objDateNow.Hour.ToString()) + "" + (objDateNow.Minute < 10 ? "0" + objDateNow.Minute : objDateNow.Minute.ToString()) + "" + (objDateNow.Second < 10 ? "0" + objDateNow.Second : objDateNow.Second.ToString()) + ".bak' WITH NOFORMAT, NOINIT, NAME = N'test-Completa Base de datos Copia de seguridad', SKIP, NOREWIND, NOUNLOAD, STATS = 10;";

                    if (objList == null || objList.Count == 0)
                    {
                        if (Business.Execute(stQuery))
                        {
                            return BPrincipalCompany.Get().prco_hoursbetweenbackups__int;
                        }
                    }
                    else
                    {
                        int inHoursConfigirated = BPrincipalCompany.Get().prco_hoursbetweenbackups__int;

                        string stDateTime = objList.Last().Split('\\')[3].Substring(47, 12);

                        int inYear = Convert.ToInt32("20" + stDateTime.Substring(0, 2));
                        int inMonth = Convert.ToInt32(stDateTime.Substring(2, 2));
                        int inDay = Convert.ToInt32(stDateTime.Substring(4, 2));
                        int inHour = Convert.ToInt32(stDateTime.Substring(6, 2));
                        int inMinute = Convert.ToInt32(stDateTime.Substring(8, 2));
                        int inSecond = Convert.ToInt32(stDateTime.Substring(10, 2));

                        TimeSpan objTimeSpan = objDateNow - new DateTime(inYear, inMonth, inDay, inHour, inMinute, inSecond);

                        if (objTimeSpan.TotalMinutes > (inHoursConfigirated * 60))
                        {
                            if (Business.Execute(stQuery))
                            {
                                return inHoursConfigirated;
                            }
                        }
                        else
                        {
                            return Convert.ToInt32((inHoursConfigirated * 60) - objTimeSpan.TotalMinutes);
                        }
                    }
                }

                catch { }

                return 0;
            }));
        }
        private bool RefreshMainValues()
        {
            if (cboType.SelectedIndex > -1)
            {
                try
                {
                    var vPrincipalCompany = BPrincipalCompany.Get();

                    if (cboType.SelectedIndex == 0)
                    {
                        var vUsers = BUser.GetAllUsers();

                        List <Report_Users_001> objListReport = new List <Report_Users_001>();

                        if (vUsers != null)
                        {
                            for (int inCont = 0; inCont < vUsers.Count; inCont++)
                            {
                                string stCreatedBy, stModifiedBy;
                                stCreatedBy = stModifiedBy = "";

                                var vUserBranches = BUser.GetAllBranches(vUsers[inCont].user_uuid__uniqueidentifier);

                                if (vUserBranches != null && vUserBranches.Count > 1)
                                {
                                    var vUser = BUser.FindByUUID(vUserBranches[0].user_uuid__uniqueidentifier.Value);

                                    stCreatedBy = Tools.Decrypt(vUser.user_firstname__nvarchar) + " " + Tools.Decrypt(vUser.user_lastname__nvarchar);

                                    vUser = BUser.FindByUUID(vUserBranches[vUserBranches.Count - 1].user_uuid__uniqueidentifier.Value);

                                    stModifiedBy = Tools.Decrypt(vUser.user_firstname__nvarchar) + " " + Tools.Decrypt(vUser.user_lastname__nvarchar);
                                }
                                else
                                {
                                    stCreatedBy = Tools.Decrypt(vUsers[inCont].user_firstname__nvarchar) + " " + Tools.Decrypt(vUsers[inCont].user_lastname__nvarchar);
                                }

                                objListReport.Add(new Report_Users_001()
                                {
                                    Number             = Convert.ToString(inCont + 1),
                                    Username           = vUsers[inCont].user_username__nvarchar,
                                    Email              = vUsers[inCont].user_email__nvarchar,
                                    Cellphone          = vUsers[inCont].user_cellphone__nvarchar,
                                    FirstName          = Tools.Decrypt(vUsers[inCont].user_firstname__nvarchar),
                                    LastName           = Tools.Decrypt(vUsers[inCont].user_lastname__nvarchar),
                                    RoleAccess         = vUsers[inCont].user_roleaccess__tinyint == 1 ? "Administrator" : "<>",
                                    CreatedBy          = stCreatedBy,
                                    LastModificationBy = stModifiedBy
                                });
                            }
                        }
                        ///////////////////////////////////////////////////////////////////////////////

                        rpvReport.LocalReport.ReportEmbeddedResource = "General_Desktop_Application.Reports.Report_Users_001.rdlc";

                        // We clean DataSource of report.
                        rpvReport.LocalReport.DataSources.Clear();

                        //
                        // We establish the parameters that we'll send them to report.
                        //
                        string            stPUser            = Tools.Decrypt(ObjForm_004.ObjUser.user_firstname__nvarchar) + " " + Tools.Decrypt(ObjForm_004.ObjUser.user_lastname__nvarchar);
                        string            stPCompany         = vPrincipalCompany.prco_name__nvarchar;
                        string            stPAddress         = vPrincipalCompany.prco_address__nvarchar != null ? vPrincipalCompany.prco_address__nvarchar : "";
                        ReportParameter[] objReportParameter =
                        {
                            new ReportParameter("pReportName", "User Report"),
                            new ReportParameter("pLogo",       vPrincipalCompany.reso_uuid_logo__uniqueidentifier != null ? Convert.ToBase64String(BResource.FindByUUID(vPrincipalCompany.reso_uuid_logo__uniqueidentifier.Value).reso_value__varbinary) : null),
                            new ReportParameter("pDate",       DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()),
                            new ReportParameter("pCompany",    stPCompany.Length > 20 ? stPCompany.Substring(0,                                                                                                                                                20) : stPCompany),
                            new ReportParameter("pRFC",        vPrincipalCompany.prco_rfc__nvarchar != null ? vPrincipalCompany.prco_rfc__nvarchar :null),
                            new ReportParameter("pUser",       stPUser.Length > 20 ? stPUser.Substring(0,                                                                                                                                                         20) : stPUser),
                            new ReportParameter("pAddress",    stPAddress.Length > 20 ? stPAddress.Substring(0, 20):stPAddress)
                        };

                        // We send the list with parameters.
                        rpvReport.LocalReport.SetParameters(objReportParameter);

                        //
                        // We establish the list as report's Datasource.
                        //
                        rpvReport.LocalReport.DataSources.Add(new ReportDataSource("dsReport_User_001", objListReport));

                        // We adjust the report's visualization mode.

                        rpvReport.SetDisplayMode(DisplayMode.PrintLayout);

                        rpvReport.ZoomMode    = ZoomMode.Percent;
                        rpvReport.ZoomPercent = 100;

                        //
                        // We do a refresh to reportViewer.
                        //
                        rpvReport.RefreshReport();
                    }
                }
                catch
                {
                    MessageBox.Show(Preferences.GlobalErrorOperation, Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Information);

                    return(false);
                }
            }

            return(true);
        }