示例#1
0
        private void loadGroupSettings(GroupBox group)
        {
            Settings settings = controller.settings;

            MainController.Features feature = MainController.getFeatureByName(group.Tag.ToString());
            foreach (Control control in group.Controls)
            {
                if (control is TextBox)
                {
                    control.Tag = group.Tag;
                    if (control.Size.Width < 100)
                    {
                        TextBox tb_days = control as TextBox;

                        tb_days.Text       = settings.getDays(feature);
                        tb_days.LostFocus += Tb_days_LostFocus;
                    }
                    else
                    {
                        TextBox tb_subsidiaries = control as TextBox;
                        tb_subsidiaries.Text       = settings.getSubsidiaries(feature);
                        tb_subsidiaries.LostFocus += Tb_subsidiaries_LostFocus;
                    }
                }
            }
        }
示例#2
0
        private void Tb_subsidiaries_LostFocus(object sender, EventArgs e)
        {
            TextBox tb_subsidiaries = sender as TextBox;

            MainController.Features feature = MainController.getFeatureByName(tb_subsidiaries.Tag.ToString());
            string initialValue             = controller.settings.getSubsidiaries(feature);
            string newValue = tb_subsidiaries.Text;

            if (string.IsNullOrWhiteSpace(newValue))
            {
                controller.settings.setSubsidiaries(feature, "");
                return;
            }
            try
            {
                string[] subsidiaries = tb_subsidiaries.Text.Split(',');
                foreach (string s in subsidiaries)
                {
                    if (string.IsNullOrWhiteSpace(s))
                    {
                        tb_subsidiaries.Text = initialValue;
                        return;
                    }
                    int subsidiary = Int32.Parse(s);
                }
                controller.settings.setSubsidiaries(feature, tb_subsidiaries.Text);
            }catch (Exception)
            {
                tb_subsidiaries.Text = initialValue;
            }
        }
示例#3
0
        public string getDays(MainController.Features feature)
        {
            string days = Read(feature.ToString() + " DAYS", feature.ToString());

            if (string.IsNullOrWhiteSpace(days))
            {
                days = "10";
                setDays(feature, days);
            }
            return(days);
        }
示例#4
0
        public string getSubsidiaries(MainController.Features feature)
        {
            string subs = Read(feature.ToString() + " SUBSIDIARIES", feature.ToString());

            if (string.IsNullOrWhiteSpace(subs))
            {
                subs = "";
                setSubsidiaries(feature, subs);
            }
            return(subs);
        }
示例#5
0
        private void Tb_days_LostFocus(object sender, EventArgs e)
        {
            TextBox tb_days = sender as TextBox;

            MainController.Features feature = MainController.getFeatureByName(tb_days.Tag.ToString());
            string initialValue             = controller.settings.getDays(feature);
            string newValue = tb_days.Text;

            try
            {
                int new_days = Int32.Parse(newValue);
                controller.settings.setDays(feature, newValue);
            }catch (Exception)
            {
                tb_days.Text = initialValue;
            }
        }
示例#6
0
        private void bn_run_Click(object sender, EventArgs e)
        {
            MainController.Features feature = MainController.getFeatureByName(combo_features.SelectedItem.ToString());
            disableForm();
            switch (feature)
            {
            case MainController.Features.ADJUSTMENT:
                controller.runAdjustments();
                break;

            case MainController.Features.SALE:
                controller.runInvoices();
                break;

            case MainController.Features.SLIP:
                controller.runSlips();
                break;

            case MainController.Features.VOU_DISCREPANCY:
                controller.runVoucherDiscrepancies();
                break;

            case MainController.Features.VOU_RETURN:
                controller.runVoucherReturns();
                break;

            case MainController.Features.SFS_VOU_RETURN:
                controller.runSFSVoucherReturns();
                break;

            case MainController.Features.SEND_EMAIL:
                controller.runSendDailyEmail();
                break;

            case MainController.Features.STORE_SYNC:
                controller.runStoreFullSync();
                break;

            case MainController.Features.ITEM_COST:
                controller.runItemCost();
                break;
            }
            reloadLog();
            enableForm();
        }
示例#7
0
        public HashSet <string> getExistingSIDs(string sql, RproDBHandler rproDBHandler, MainController.Features feature)
        {
            HashSet <string> results = new HashSet <string>();

            using (SqlConnection connection = new SqlConnection(getConnectionString()))
            {
                try
                {
                    connection.Open();
                    SqlCommand    cmd    = new SqlCommand(sql, connection);
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        results.Add(reader["sid"].ToString());
                    }
                }
                catch (Exception e)
                {
                    string title = feature.ToString() + " exception occured.";
                    string body  = "Exception occured when retrieving existing SIDs from B1 database. Unable to perform matching. Run aborted.";
                    rproDBHandler.addLog(MainController.LogType.EXCEPTION, null, null, feature, body, e);
                    new EmailController(settings).sendEmail(title, body, rproDBHandler, feature);
                    throw e;
                }
                finally
                {
                    connection.Close();
                }
            }
            return(results);
        }
示例#8
0
        public void sendEmail(string subject, string body, RproDBHandler rproDBHandler, MainController.Features feature)
        {
            try
            {
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient(smtp_address, smtp_port);
                mail.From = new MailAddress(email_sender_address);
                mail.To.Add(email_recepient_address);
                mail.Subject = subject;
                mail.Body    = body;

                // SmtpServer.Port = smtp_port;
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials           = new System.Net.NetworkCredential(email_sender_address, email_password);
                SmtpServer.EnableSsl             = email_enable_SSL;
                SmtpServer.DeliveryMethod        = SmtpDeliveryMethod.Network;
                SmtpServer.Send(mail);

                rproDBHandler.addLog(MainController.LogType.REPORT, "", "", MainController.Features.SEND_EMAIL, "Email Sent", null);
            }
            catch (Exception e)
            {
                if (rproDBHandler != null)
                {
                    string msg = "Exception occurred when sending email on error report. ";
                    rproDBHandler.addLog(MainController.LogType.REPORT, "", "", feature, msg, e);
                }
            }
        }
示例#9
0
 public void setDays(MainController.Features feature, string days)
 {
     Write(feature.ToString() + " DAYS", days, feature.ToString());
 }
示例#10
0
 public void setSubsidiaries(MainController.Features feature, string subsidiaries)
 {
     Write(feature.ToString() + " SUBSIDIARIES", subsidiaries, feature.ToString());
 }
示例#11
0
        public void runFromArgs(string[] args)
        {
            for (int i = 1; i < args.Length; i++)
            {
                string arg = args[i].ToUpper();
                try
                {
                    if (arg.Contains("CLEARZEROCOST:"))
                    {
                        arg = arg.Replace("CLEARZEROCOST:", "");
                        try
                        {
                            int days_ago = Int32.Parse(arg);
                            deleteLogs(arg);
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show("Error in command DELETELOG - format should be 'CLEARZEROCOST:10' for deleting log for past 10 days");
                        }
                    }

                    else
                    {
                        MainController.Features feature = getFeatureByName(arg);
                        switch (feature)
                        {
                        case Features.SLIP:
                            runSlips();
                            break;

                        case Features.ADJUSTMENT:
                            runAdjustments();
                            break;

                        case Features.SALE:
                            runInvoices();
                            break;

                        case Features.ITEM_COST:
                            runItemCost();
                            break;

                        case Features.VOU_DISCREPANCY:
                            runVoucherDiscrepancies();
                            break;

                        case Features.VOU_RETURN:
                            runVoucherReturns();
                            break;

                        case Features.SFS_VOU_RETURN:
                            runSFSVoucherReturns();
                            break;

                        case Features.SEND_EMAIL:
                            runSendDailyEmail();
                            break;
                        }
                    }
                }catch (Exception ex)
                {
                    MessageBox.Show("Windows command not recognized: " + arg);
                }
            }
        }