Пример #1
0
        public EmailSending(Form1 f1_, ReaderVO reader_)
        {
            InitializeComponent();
            f1 = f1_;
            reader = reader_;
            label1.Text = reader.FIO;
            int rownum = 0;
            bold = new List<int>();
            //IDISSUED_ACC = IDISS;
            label2.Text = "Дата последней отправки письма: " + reader.GetLastDateEmail();

            Email = reader.GetEmail();

            if (Email == "")
            {
                MessageBox.Show("Email не существует или имеет неверный формат!");
                this.Close();
                return;
            }
            this.canshow = true;
            richTextBox1.Text = "Уважаемый(ая) " + reader.Name + " " + reader.Father + "!" + rn +
                "Вы задерживаете книги:" + rn + rn;
            foreach (DataGridViewRow r in f1.Formular.Rows)
            {
                if (r.DefaultCellStyle.BackColor == Color.Tomato)
                {
                    rownum++;
                    string zag = r.Cells["tit"].Value.ToString();
                    if (zag.Length > 21)
                        zag.Remove(20);
                    TimeSpan ts = DateTime.Now.AddDays(1) - (DateTime)r.Cells["ret"].Value;
                    richTextBox1.Text += rownum.ToString() + ". " + r.Cells["avt"].Value.ToString() +
                        ", " + zag +
                        ", выдано: " + ((DateTime)r.Cells["iss"].Value).ToString("dd.MM.yyyy") +
                        ", дата возврата: ";
                    richTextBox1.Text += ((DateTime)r.Cells["ret"].Value).ToString("dd.MM.yyyy");
                    bold.Add(richTextBox1.TextLength - 10);
                    richTextBox1.Text += ". Задержано на " + ts.Days.ToString() + " дней." + rn;
                }
            }
            if (rownum == 0)
            {
                MessageBox.Show("За читателем нет задоженностей!");
                this.Close();
                return;
            }
            richTextBox1.Text += rn + "Просим Вас в ближайшее время вернуть литературу в Центр американской культуры Библиотеки иностранной литературы." + rn +
                "С уважением, " + rn +
                "Центр американской культуры ВГБИЛ," + rn +
                "тел. +7 (495) 926-4554" + rn +
                "пн-пт - с 11:00 до 20:45." + rn +
                "субб - с 11:00 до 18:45";

            foreach (int i in bold)
            {
                richTextBox1.Select(i, 10);
                richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
            }
            htmltext = EmailSending.ConvertRtfToHtml(richTextBox1.Rtf);
        }
Пример #2
0
 internal object GetReaderHistory(ReaderVO reader)
 {
     DA.SelectCommand.CommandText = "with hist as (select 1 ID,C.PLAIN collate Cyrillic_general_ci_ai tit,D.PLAIN collate Cyrillic_general_ci_ai avt," +
                                    " INV.SORT collate Cyrillic_general_ci_ai inv,A.DATE_ISSUE,ret.DATEACTION DATE_RETURN" +
                                    " from Reservation_R..ISSUED_SCC A" +
                                    " left join Readers..Main B on A.IDREADER = B.NumberReader" +
                                    " left join BJSCC..DATAEXT CC on A.IDMAIN = CC.IDMAIN and CC.MNFIELD = 200 and CC.MSFIELD = '$a'" +
                                    " left join BJSCC..DATAEXT DD on A.IDMAIN = DD.IDMAIN and DD.MNFIELD = 700 and DD.MSFIELD = '$a'" +
                                    " left join BJSCC..DATAEXTPLAIN C on C.IDDATAEXT = CC.ID" +
                                    " left join BJSCC..DATAEXTPLAIN D on D.IDDATAEXT = DD.ID" +
                                    " left join BJSCC..DATAEXT INV on A.IDDATA = INV.IDDATA and INV.MNFIELD = 899 and INV.MSFIELD = '$w'" +
                                    " left join Reservation_R..ISSUED_SCC_ACTIONS ret on ret.IDISSUED_SCC = A.ID and ret.IDACTION = 2 " +
                                    " where A.IDSTATUS = 2 and A.BaseId = 1 and A.IDREADER = " + reader.ID +
                                    " union all " +
                                    "select 1 ID,C.PLAIN collate Cyrillic_general_ci_ai tit,D.PLAIN collate Cyrillic_general_ci_ai avt," +
                                    " INV.SORT collate Cyrillic_general_ci_ai inv,A.DATE_ISSUE,ret.DATEACTION DATE_RETURN" +
                                    " from Reservation_R..ISSUED_SCC A" +
                                    " left join Readers..Main B on A.IDREADER = B.NumberReader" +
                                    " left join BJVVV..DATAEXT CC on A.IDMAIN = CC.IDMAIN and CC.MNFIELD = 200 and CC.MSFIELD = '$a'" +
                                    " left join BJVVV..DATAEXT DD on A.IDMAIN = DD.IDMAIN and DD.MNFIELD = 700 and DD.MSFIELD = '$a'" +
                                    " left join BJVVV..DATAEXTPLAIN C on C.IDDATAEXT = CC.ID" +
                                    " left join BJVVV..DATAEXTPLAIN D on D.IDDATAEXT = DD.ID" +
                                    " left join BJVVV..DATAEXT INV on A.IDDATA = INV.IDDATA and INV.MNFIELD = 899 and INV.MSFIELD = '$w'" +
                                    " left join Reservation_R..ISSUED_SCC_ACTIONS ret on ret.IDISSUED_SCC = A.ID and ret.IDACTION = 2 " +
                                    " where A.IDSTATUS = 2 and A.BaseId =2 and A.IDREADER = " + reader.ID + ") select * from hist order by DATE_ISSUE desc";
     DS = new DataSet();
     DA.Fill(DS, "t");
     return(DS.Tables["t"]);
 }
Пример #3
0
        internal void IssueInHall(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP)
        {
            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDMAIN", SqlDbType.Int).Value           = ScannedBook.IDMAIN;
            DA.InsertCommand.Parameters.Add("IDDATA", SqlDbType.Int).Value           = ScannedBook.IDDATA;
            DA.InsertCommand.Parameters.Add("IDREADER", SqlDbType.Int).Value         = ScannedReader.ID;
            DA.InsertCommand.Parameters.Add("DATE_ISSUE", SqlDbType.DateTime).Value  = DateTime.Now;
            DA.InsertCommand.Parameters.Add("DATE_RETURN", SqlDbType.DateTime).Value = DateTime.Now;
            DA.InsertCommand.Parameters.Add("IDSTATUS", SqlDbType.Int).Value         = 6;
            DA.InsertCommand.Parameters.Add("BaseId", SqlDbType.Int).Value           = (ScannedBook.FUND == Bases.BJFCC) ? 1 : 2;
            DA.InsertCommand.Parameters.Add("IsAtHome", SqlDbType.Bit).Value         = false;

            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_FCC (IDMAIN,IDDATA,IDREADER,DATE_ISSUE,DATE_RETURN,IDSTATUS,BaseId,IsAtHome) values " +
                                           " (@IDMAIN,@IDDATA,@IDREADER,@DATE_ISSUE,@DATE_RETURN,@IDSTATUS,@BaseId,@IsAtHome);select scope_identity();";
            DA.InsertCommand.Connection.Open();
            object scope_id = DA.InsertCommand.ExecuteScalar();

            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDISSUED_FCC", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime);

            DA.InsertCommand.Parameters["IDACTION"].Value     = 6;
            DA.InsertCommand.Parameters["IDUSER"].Value       = IDEMP;
            DA.InsertCommand.Parameters["IDISSUED_FCC"].Value = scope_id;
            DA.InsertCommand.Parameters["DATEACTION"].Value   = DateTime.Now;

            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_FCC_ACTIONS (IDACTION,IDEMP,IDISSUED_FCC,DATEACTION) values " +
                                           "(@IDACTION,@IDUSER,@IDISSUED_FCC,@DATEACTION)";
            DA.InsertCommand.ExecuteNonQuery();
            DA.InsertCommand.Connection.Close();
        }
Пример #4
0
        internal void Recieve(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP)
        {
            DA.UpdateCommand.Parameters.Clear();
            DA.UpdateCommand.Parameters.Add("IDISSUED", SqlDbType.Int);

            DA.UpdateCommand.Parameters["IDISSUED"].Value = ScannedBook.IDISSUED;
            DA.UpdateCommand.CommandText = "update Reservation_R..ISSUED_FCC set IDSTATUS = 2 where ID = @IDISSUED";
            DA.UpdateCommand.Connection.Open();
            DA.UpdateCommand.ExecuteNonQuery();
            DA.UpdateCommand.Connection.Close();

            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDISSUED_FCC", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime);

            DA.InsertCommand.Parameters["IDACTION"].Value     = 2;
            DA.InsertCommand.Parameters["IDUSER"].Value       = IDEMP;
            DA.InsertCommand.Parameters["IDISSUED_FCC"].Value = ScannedBook.IDISSUED;
            DA.InsertCommand.Parameters["DATEACTION"].Value   = DateTime.Now;

            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_FCC_ACTIONS (IDACTION,IDEMP,IDISSUED_FCC,DATEACTION) values " +
                                           "(@IDACTION,@IDUSER,@IDISSUED_FCC,@DATEACTION)";
            DA.InsertCommand.Connection.Open();
            DA.InsertCommand.ExecuteNonQuery();
            DA.InsertCommand.Connection.Close();
        }
Пример #5
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Formular.SelectedRows.Count == 0)
            {
                MessageBox.Show("Выделите строку!");
                return;
            }

            if (DEPARTMENT.GetCountOfPrologedTimes((int)Formular.SelectedRows[0].Cells["idiss"].Value) > 0)
            {
                MessageBox.Show("Нельзя продлить книгу более одного раза!");
                return;
            }
            Prolong p = new Prolong();

            p.ShowDialog();
            if (p.Days == -99)
            {
                return;
            }
            if (Formular.SelectedRows[0].Cells["IsAtHome"].Value.ToString().ToLower().Contains("дом"))
            {
                DEPARTMENT.Prolong((int)Formular.SelectedRows[0].Cells["idiss"].Value, p.Days, EmpID);
            }
            else
            {
                DEPARTMENT.Prolong((int)Formular.SelectedRows[0].Cells["idiss"].Value, 3, EmpID);
            }
            ReaderVO reader = new ReaderVO((int)Formular.SelectedRows[0].Cells["idr"].Value);

            FillFormularGrid(reader);
        }
Пример #6
0
        private void Log()
        {
            DBGeneral dbg = new DBGeneral();

            dgvLOG.Columns.Clear();
            dgvLOG.AutoGenerateColumns            = true;
            dgvLOG.DataSource                     = dbg.GetLog();
            dgvLOG.Columns["time"].HeaderText     = "Время";
            dgvLOG.Columns["time"].Width          = 80;
            dgvLOG.Columns["bar"].HeaderText      = "Штрихкод";
            dgvLOG.Columns["bar"].Width           = 80;
            dgvLOG.Columns["tit"].HeaderText      = "Издание";
            dgvLOG.Columns["tit"].Width           = 600;
            dgvLOG.Columns["idr"].HeaderText      = "Читатель";
            dgvLOG.Columns["idr"].Width           = 80;
            dgvLOG.Columns["st"].HeaderText       = "Действие";
            dgvLOG.Columns["st"].Width            = 100;
            dgvLOG.Columns["fund"].HeaderText     = "Фонд";
            dgvLOG.Columns["fund"].Width          = 80;
            dgvLOG.Columns["IsAtHome"].HeaderText = "Тип выдачи";
            dgvLOG.Columns["IsAtHome"].Width      = 80;
            foreach (DataGridViewColumn c in dgvLOG.Columns)
            {
                c.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            foreach (DataGridViewRow r in dgvLOG.Rows)
            {
                int      idr    = Convert.ToInt32(r.Cells["idr"].Value);
                ReaderVO reader = new ReaderVO(idr);
                if ((reader.ReaderRights & Rights.EMPL) == Rights.EMPL)
                {
                    r.Cells["idr"].Value += " (сотрудник)";
                }
            }
        }
Пример #7
0
        public History(ReaderVO reader)
        {
            InitializeComponent();
            label2.Text = reader.FIO;
            DBReference dbref = new DBReference();


            dataGridView1.DataSource = dbref.GetReaderHistory(reader);

            dataGridView1.Columns["DATE_ISSUE"].HeaderText  = "Дата выдачи";
            dataGridView1.Columns["DATE_RETURN"].HeaderText = "Дата возврата";
            dataGridView1.Columns["inv"].HeaderText         = "Инвентарный номер";
            dataGridView1.Columns["tit"].HeaderText         = "Заглавие";
            dataGridView1.Columns["avt"].HeaderText         = "Автор";
            dataGridView1.Columns["ID"].HeaderText          = "№№";
            dataGridView1.Columns["ID"].Width = 40;
            int i = 0;

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                row.Cells["ID"].Value = (++i).ToString();
            }
            dataGridView1.Columns["tit"].Width = 300;
            dataGridView1.Columns["tit"].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
        }
Пример #8
0
 public void FillFormular(ReaderVO reader)
 {
     if (reader.ID == 0)
     {
         MessageBox.Show("Читатель не найден!");
         return;
     }
     FillFormularGrid(reader);
 }
Пример #9
0
        private void button10_Click(object sender, EventArgs e)
        {
            ReaderVO reader = new ReaderVO((int)numericUpDown3.Value);

            if (reader.ID == 0)
            {
                MessageBox.Show("Читатель не найден!");
                return;
            }
            FillFormularGrid(reader);
        }
Пример #10
0
 private void button2_Click(object sender, EventArgs e)
 {
     //f1.FrmlrFam(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
     if (dataGridView1.SelectedRows.Count == 0)
     {
         MessageBox.Show("Читатель не выбран!");
         return;
     }
     ReaderVO reader = new ReaderVO((int)dataGridView1.SelectedRows[0].Cells[0].Value);
     f1.FillFormular(reader);
     Close();
 }
Пример #11
0
        private void bReaderHistory_Click(object sender, EventArgs e)
        {
            if (lFromularNumber.Text == "")
            {
                MessageBox.Show("Введите номер или считайте штрихкод читателя!");
                return;
            }
            ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));
            History  f7     = new History(reader);

            f7.ShowDialog();
        }
Пример #12
0
        private void button17_Click(object sender, EventArgs e)
        {
            if (lFromularNumber.Text == "")
            {
                MessageBox.Show("Введите номер или считайте штрихкод читателя!");
                return;
            }
            ReaderVO          reader = new ReaderVO(int.Parse(lFromularNumber.Text));
            ReaderInformation f9     = new ReaderInformation(reader, this);

            f9.ShowDialog();
        }
Пример #13
0
 public ReaderInformation(ReaderVO reader_, Form1 f1_)
 {
     InitializeComponent();
     f1                = f1_;
     reader            = reader_;
     label2.Text       = reader.FIO;
     pictureBox1.Image = reader.Photo;
     MethodsForCurBase.FormTable(reader, dataGridView1);
     //DisplayCommNote();
     //RegInMos();
     label6.Text = "Дата последней отправки письма: " + reader.GetLastDateEmail();
 }
Пример #14
0
        private void button2_Click(object sender, EventArgs e)
        {
            //f1.FrmlrFam(dataGridView1.SelectedRows[0].Cells[0].Value.ToString());
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("Читатель не выбран!");
                return;
            }
            ReaderVO reader = new ReaderVO((int)dataGridView1.SelectedRows[0].Cells[0].Value);

            f1.FillFormular(reader);
            Close();
        }
Пример #15
0
        private void bComment_Click(object sender, EventArgs e)
        {
            if (lFromularNumber.Text == "")
            {
                MessageBox.Show("Введите номер или считайте штрихкод читателя!");
                return;
            }
            ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));

            ChangeComment cc = new ChangeComment(reader);

            cc.ShowDialog();
        }
Пример #16
0
        internal string GetLastDateEmail(ReaderVO reader)
        {
            DA.SelectCommand.CommandText = "select top 1 DATEACTION from Reservation_R..ISSUED_FCC_ACTIONS where IDACTION = 4 and IDISSUED_FCC = " + reader.ID + " order by DATEACTION desc";//когда актион равен 4 - это значит емаил отослали. только в этом случае
            //в поле IDISSUED_FCC хранится номер читателя а не номер выдачи
            //это пипец конечно ну а чё?
            DataSet D = new DataSet();
            int     i = DA.Fill(D, "t");

            if (i == 0)
            {
                return("не отправлялось");
            }
            return(Convert.ToDateTime(D.Tables["t"].Rows[0][0]).ToString("dd.MM.yyyy HH:mm"));
        }
Пример #17
0
        internal bool IsAlreadyIssuedMoreThanFourBooks(ReaderVO r)
        {
            DA.SelectCommand.CommandText = "select * from Reservation_R..ISSUED_FCC where IDREADER = " + r.ID + " and IDSTATUS in (1,6)";
            DS = new DataSet();
            int i = DA.Fill(DS, "t");

            if (i >= 4)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #18
0
 internal string GetEmail(ReaderVO reader)
 {
     DA.SelectCommand.CommandText = "select Email from Readers..Main where NumberReader = " + reader.ID;
     DataSet D = new DataSet();
     int i = DA.Fill(D);
     if (i == 0) return "";
     if (this.IsValidEmail(D.Tables[0].Rows[0][0].ToString()))
     {
         return D.Tables[0].Rows[0][0].ToString();
     }
     else
     {
         return "";
     }
 }
Пример #19
0
        private void bSendEmail(object sender, EventArgs e)
        {
            if (lFromularNumber.Text == "")
            {
                MessageBox.Show("Введите номер или считайте штрихкод читателя!");
                return;
            }
            ReaderVO     reader = new ReaderVO(int.Parse(lFromularNumber.Text));
            EmailSending es     = new EmailSending(this, reader);

            if (es.canshow)
            {
                es.ShowDialog();
            }
        }
Пример #20
0
        private void bGiveFreeAbonement_Click(object sender, EventArgs e)
        {
            if (lFromularNumber.Text == "")
            {
                MessageBox.Show("Введите номер или считайте штрихкод читателя!");
                return;
            }
            ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));

            fReaderRegistrationAndRights frr = new fReaderRegistrationAndRights();

            frr.Init(reader.ID);
            frr.ShowDialog();

            FillFormular(reader);
        }
Пример #21
0
        private void button4_Click(object sender, EventArgs e)
        {
            if (Formular.SelectedRows.Count == 0)
            {
                MessageBox.Show("Выделите строку!");
                return;
            }
            DialogResult dr = MessageBox.Show("Вы действительно хотите снять ответственность за выделенную книгу?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (dr == DialogResult.No)
            {
                return;
            }
            DEPARTMENT.RemoveResponsibility((int)Formular.SelectedRows[0].Cells["idiss"].Value, EmpID);
            ReaderVO reader = new ReaderVO((int)Formular.SelectedRows[0].Cells["idr"].Value);

            FillFormularGrid(reader);
        }
Пример #22
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Formular.SelectedRows.Count == 0)
            {
                MessageBox.Show("Выделите строку!");
                return;
            }
            Prolong p = new Prolong();

            p.ShowDialog();
            if (p.Days == -99)
            {
                return;
            }
            DEPARTMENT.Prolong((int)Formular.SelectedRows[0].Cells["idiss"].Value, p.Days, EmpID);
            ReaderVO reader = new ReaderVO((int)Formular.SelectedRows[0].Cells["idr"].Value);

            FillFormularGrid(reader);
        }
Пример #23
0
        public void AddAttendance(ReaderVO reader)
        {
            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.AddWithValue("BAR", reader.BAR);
            if (reader.BAR[0] == 'G')
            {
                DA.InsertCommand.Parameters.AddWithValue("IDReader", -1);
            }
            else
            {
                DA.InsertCommand.Parameters.AddWithValue("IDReader", reader.ID);
            }

            DA.InsertCommand.CommandText = "insert into Reservation_R..ATTENDANCE_FCC (IDReader, DATEATT, BAR) values " +
                                           " (@IDReader, getdate(), @BAR)";
            DA.InsertCommand.Connection.Open();
            DA.InsertCommand.ExecuteNonQuery();
            DA.InsertCommand.Connection.Close();
        }
Пример #24
0
        public string GetEmail(ReaderVO reader)
        {
            DA.SelectCommand.CommandText = "select Email from Readers..Main where NumberReader = " + reader.ID;
            DataSet D = new DataSet();
            int     i = DA.Fill(D);

            if (i == 0)
            {
                return("");
            }
            if (this.IsValidEmail(D.Tables[0].Rows[0][0].ToString()))
            {
                return(D.Tables[0].Rows[0][0].ToString());
            }
            else
            {
                return("");
            }
        }
Пример #25
0
 public void FillFormularGrid(ReaderVO reader)
 {
     lFormularName.Text   = reader.Family + " " + reader.Name + " " + reader.Father;
     lFromularNumber.Text = reader.ID.ToString();
     if ((reader.ReaderRights & Rights.EMPL) == Rights.EMPL)
     {
         lFromularNumber.Text += " (сотрудник)";
     }
     Formular.DataSource = reader.GetFormular();
     Formular.Columns["num"].HeaderText       = "№№";
     Formular.Columns["num"].Width            = 40;
     Formular.Columns["bar"].HeaderText       = "Штрихкод";
     Formular.Columns["bar"].Width            = 80;
     Formular.Columns["avt"].HeaderText       = "Автор";
     Formular.Columns["avt"].Width            = 200;
     Formular.Columns["tit"].HeaderText       = "Заглавие";
     Formular.Columns["tit"].Width            = 400;
     Formular.Columns["iss"].HeaderText       = "Дата выдачи";
     Formular.Columns["iss"].Width            = 80;
     Formular.Columns["ret"].HeaderText       = "Предполагаемая дата возврата";
     Formular.Columns["ret"].Width            = 110;
     Formular.Columns["shifr"].HeaderText     = "Расстановочный шифр";
     Formular.Columns["shifr"].Width          = 90;
     Formular.Columns["idiss"].Visible        = false;
     Formular.Columns["idr"].Visible          = false;
     Formular.Columns["DATE_ISSUE"].Visible   = false;
     Formular.Columns["fund"].HeaderText      = "Фонд";
     Formular.Columns["fund"].Width           = 50;
     Formular.Columns["prolonged"].HeaderText = "Продлено, раз";
     Formular.Columns["prolonged"].Width      = 80;
     Formular.Columns["IsAtHome"].HeaderText  = "Тип выдачи";
     Formular.Columns["IsAtHome"].Width       = 80;
     pictureBox2.Image = reader.Photo;
     foreach (DataGridViewRow r in Formular.Rows)
     {
         DateTime ret = (DateTime)r.Cells["ret"].Value;
         if (ret.Date < DateTime.Now.Date)
         {
             r.DefaultCellStyle.BackColor = Color.Tomato;
         }
     }
 }
Пример #26
0
        /// <summary>
        /// Возвращаемые значения:
        /// 0 - Издание принято от читателя
        /// 1 - Штрихкод не найден ни в базе читателей ни в базе книг
        /// 2 - ожидался штрихкод читателя, а считан штрихкод издания
        /// 3 - ожидался штрихкод издания, а считан штрихкод читателя
        /// 4 - Издание подготовлено к выдаче. ожидаем штрихкод читателя
        /// 5 - Издание и читатель подготовлены к выдаче
        /// 
        /// </summary>
        /// <param name="PortData"></param>
        public int Circulate(string PortData)
        {
            BARTYPE ScannedType;
            if (ExpectedBar == 2)
            {
                return 5;
            }

            if ((ScannedType = BookOrReader(PortData)) == BARTYPE.NotExist)//существует ли такой штрихкод вообще либо в базе читателей либо в базе изданий
            {
                return 1;
            }

            if (ExpectedBar == 0)//если сейчас ожидается штрихкод книги
            {
                if (ScannedType == BARTYPE.Reader) //выяснить какой штрихкод сейчас считан: читатель или книга
                {
                    return 3;
                }
                this.ScannedBook = new BookVO(PortData);
                if (ScannedBook.IsIssued())
                {
                    return 0;
                }
                else
                {
                    ExpectedBar = 1;
                    return 4;
                }
            }
            else  //если сейчас ожидается штрихкод читателя
            {
                if (ScannedType == BARTYPE.Book) //выяснить какой штрихкод сейчас считан: читатель или книга
                {
                    return 2;
                }
                ScannedReader = new ReaderVO(PortData);
                ExpectedBar = 2;
                return 5;

            }
        }
Пример #27
0
        /// <summary>
        /// Возвращаемые значения:
        /// 0 - Издание принято от читателя
        /// 1 - Штрихкод не найден ни в базе читателей ни в базе книг
        /// 2 - ожидался штрихкод читателя, а считан штрихкод издания
        /// 3 - ожидался штрихкод издания, а считан штрихкод читателя
        /// 4 - Издание подготовлено к выдаче. ожидаем штрихкод читателя
        /// 5 - Издание и читатель подготовлены к выдаче
        ///
        /// </summary>
        /// <param name="PortData"></param>
        public int Circulate(string PortData)
        {
            BARTYPE ScannedType;

            if (ExpectedBar == ExpectingAction.WaitingConfimation)//если ожидается подтверждение выдачи
            {
                return(5);
            }

            if ((ScannedType = BookOrReader(PortData)) == BARTYPE.NotExist)//существует ли такой штрихкод вообще либо в базе читателей либо в базе изданий
            {
                return(1);
            }

            if (ExpectedBar == ExpectingAction.WaitingBook) //если сейчас ожидается штрихкод книги
            {
                if (ScannedType == BARTYPE.Reader)          //выяснить какой штрихкод сейчас считан: читатель или книга
                {
                    return(3);
                }
                this.ScannedBook = new BookVO(PortData);
                if (ScannedBook.IsIssued())
                {
                    return(0);
                }
                else
                {
                    ExpectedBar = ExpectingAction.WaitingReader;
                    return(4);
                }
            }
            else  //если сейчас ожидается штрихкод читателя
            {
                if ((ScannedType == BARTYPE.BookFCC) || (ScannedType == BARTYPE.BookBJVVV)) //выяснить какой штрихкод сейчас считан: читатель или книга
                {
                    return(2);
                }
                ScannedReader = new ReaderVO(PortData);
                ExpectedBar   = ExpectingAction.WaitingConfimation;
                return(5);
            }
        }
Пример #28
0
        private void AttendanceScan(string fromport)
        {
            if (!ReaderVO.IsReader(fromport))
            {
                MessageBox.Show("Неверный штрихкод читателя!", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            ReaderVO reader = new ReaderVO(fromport);

            if (!reader.IsAlreadyMarked())
            {
                DEPARTMENT.AddAttendance(reader);
                label21.Text = "На сегодня посещаемость составляет: " + DEPARTMENT.GetAttendance() + " человек(а)";
            }
            else
            {
                MessageBox.Show("Этот читатель уже посетил текущий зал сегодня!");
                return;
            }
        }
Пример #29
0
        public History(ReaderVO reader)
        {
            InitializeComponent();
            label2.Text = reader.FIO;
            DBReference dbref = new DBReference();

            dataGridView1.DataSource = dbref.GetReaderHistory(reader);

            dataGridView1.Columns["DATE_ISSUE"].HeaderText = "Дата выдачи";
            dataGridView1.Columns["DATE_RETURN"].HeaderText = "Дата возврата";
            dataGridView1.Columns["inv"].HeaderText = "Инвентарный номер";
            dataGridView1.Columns["tit"].HeaderText = "Заглавие";
            dataGridView1.Columns["avt"].HeaderText = "Автор";
            dataGridView1.Columns["ID"].HeaderText = "№№";
            dataGridView1.Columns["ID"].Width = 40;
            int i = 0;
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                row.Cells["ID"].Value = (++i).ToString();
            }
            dataGridView1.Columns["tit"].Width = 300;
            dataGridView1.Columns["tit"].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
        }
Пример #30
0
        private void button4_Click(object sender, EventArgs e)
        {
            if (Formular.SelectedRows.Count == 0)
            {
                MessageBox.Show("�������� ������!");
                return;
            }
            DialogResult dr = MessageBox.Show("�� ������������� ������ ����� ��������������� �� ���������� �����?", "��������!", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (dr == DialogResult.No) return;
            DEPARTMENT.RemoveResponsibility((int)Formular.SelectedRows[0].Cells["idiss"].Value, EmpID);
            ReaderVO reader = new ReaderVO((int)Formular.SelectedRows[0].Cells["idr"].Value);
            FillFormularGrid(reader);
        }
Пример #31
0
 private void button2_Click_2(object sender, EventArgs e)
 {
     if (lFromularNumber.Text == "")
     {
         MessageBox.Show("������� ����� ��� �������� �������� ��������!");
         return;
     }
     ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));
     EmailSending es = new EmailSending(this, reader);
     if (es.canshow)
     {
         es.ShowDialog();
     }
 }
Пример #32
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (Formular.SelectedRows.Count == 0)
     {
         MessageBox.Show("�������� ������!");
         return;
     }
     Prolong p = new Prolong();
     p.ShowDialog();
     if (p.Days == -99) return;
     DEPARTMENT.Prolong((int)Formular.SelectedRows[0].Cells["idiss"].Value, p.Days, EmpID);
     ReaderVO reader = new ReaderVO((int)Formular.SelectedRows[0].Cells["idr"].Value);
     FillFormularGrid(reader);
 }
Пример #33
0
 private void button17_Click(object sender, EventArgs e)
 {
     if (lFromularNumber.Text == "")
     {
         MessageBox.Show("������� ����� ��� �������� �������� ��������!");
         return;
     }
     ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));
     ReaderInformation f9 = new ReaderInformation(reader, this);
     f9.ShowDialog();
 }
Пример #34
0
        public void AddAttendance(ReaderVO reader)
        {
            DBGeneral dbg = new DBGeneral();

            dbg.AddAttendance(reader);
        }
Пример #35
0
        internal void Recieve(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP)
        {
            DA.UpdateCommand.Parameters.Clear();
            DA.UpdateCommand.Parameters.Add("IDISSUED", SqlDbType.Int);

            DA.UpdateCommand.Parameters["IDISSUED"].Value = ScannedBook.IDISSUED;
            DA.UpdateCommand.CommandText = "update Reservation_R..ISSUED_ACC set IDSTATUS = 2 where ID = @IDISSUED";
            DA.UpdateCommand.Connection.Open();
            DA.UpdateCommand.ExecuteNonQuery();
            DA.UpdateCommand.Connection.Close();

            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDISSUED_ACC", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime);

            DA.InsertCommand.Parameters["IDACTION"].Value = 2;
            DA.InsertCommand.Parameters["IDUSER"].Value = IDEMP;
            DA.InsertCommand.Parameters["IDISSUED_ACC"].Value = ScannedBook.IDISSUED;
            DA.InsertCommand.Parameters["DATEACTION"].Value = DateTime.Now;

            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC_ACTIONS (IDACTION,IDEMP,IDISSUED_ACC,DATEACTION) values " +
                                            "(@IDACTION,@IDUSER,@IDISSUED_ACC,@DATEACTION)";
            DA.InsertCommand.Connection.Open();
            DA.InsertCommand.ExecuteNonQuery();
            DA.InsertCommand.Connection.Close();
        }
Пример #36
0
 public ReaderInformation(ReaderVO reader_, Form1 f1_)
 {
     InitializeComponent();
     f1 = f1_;
     reader = reader_;
     label2.Text = reader.FIO;
     pictureBox1.Image = reader.Photo;
     MethodsForCurBase.FormTable(reader,dataGridView1);
     //DisplayCommNote();
     //RegInMos();
     label6.Text = "Дата последней отправки письма: " +reader.GetLastDateEmail();
 }
Пример #37
0
 public void FillFormular(ReaderVO reader)
 {
     if (reader.ID == 0)
     {
         MessageBox.Show("�������� �� ������!");
         return;
     }
     FillFormularGrid(reader);
 }
Пример #38
0
 internal bool IsAlreadyIssuedMoreThanFourBooks(ReaderVO r)
 {
     DA.SelectCommand.CommandText = "select * from Reservation_R..ISSUED_ACC where IDREADER = " + r.ID + " and IDSTATUS = 1";
     DS = new DataSet();
     int i = DA.Fill(DS, "t");
     if (i >= 4) return true; else return false;
 }
Пример #39
0
        void Form1_Scanned(string fromport)
        {
            string g = tabControl1.SelectedTab.ToString();

            switch (tabControl1.SelectedTab.Text)
            {
            case "Формуляр читателя":
                #region formular
                ReaderVO reader = new ReaderVO(fromport);
                FillFormular(reader);
                #endregion
                break;

            case "Приём/выдача изданий":
                #region priem
                switch (DEPARTMENT.Circulate(fromport))
                {
                case 0:
                    DEPARTMENT.RecieveBook(EmpID);
                    CancelIssue();
                    break;

                case 1:
                    MessageBox.Show("Штрихкод не найден ни в базе читателей ни в базе книг!");
                    break;

                case 2:
                    MessageBox.Show("Ожидался штрихкод читателя, а считан штрихкод издания!");
                    break;

                case 3:
                    MessageBox.Show("Ожидался штрихкод издания, а считан штрихкод читателя!");
                    break;

                case 4:
                    lAuthor.Text    = DEPARTMENT.ScannedBook.AUTHOR;
                    lTitle.Text     = DEPARTMENT.ScannedBook.TITLE;
                    bCancel.Enabled = true;
                    label1.Text     = "Считайте штрихкод читателя";
                    break;

                case 5:
                    lReader.Text      = DEPARTMENT.ScannedReader.Family + " " + DEPARTMENT.ScannedReader.Name + " " + DEPARTMENT.ScannedReader.Father;
                    RPhoto.Image      = DEPARTMENT.ScannedReader.Photo;
                    bConfirm.Enabled  = true;
                    this.AcceptButton = bConfirm;
                    bConfirm.Focus();
                    label1.Text = "Подтвердите операцию";
                    break;
                }
                Log();
                break;

                #endregion
            case "Учёт посещаемости":

                AttendanceScan(fromport);

                break;
            }
        }
Пример #40
0
 internal string GetLastDateEmail(ReaderVO reader)
 {
     DA.SelectCommand.CommandText = "select top 1 DATEACTION from Reservation_R..ISSUED_ACC_ACTIONS where IDACTION = 4 and IDISSUED_ACC = " + reader.ID+" order by DATEACTION desc";//когда актион равен 4 - это значит емаил отослали. только в этом случае
                                                                                                                                                 //в поле IDISSUED_ACC хранится номер читателя а не номер выдачи
                                                                                                                                                  //это пипец конечно ну а чё?
     DataSet D = new DataSet();
     int i = DA.Fill(D,"t");
     if (i == 0) return "не отправлялось";
     return Convert.ToDateTime(D.Tables["t"].Rows[0][0]).ToString("dd.MM.yyyy HH:mm");
 }
Пример #41
0
        public static void FormTable(ReaderVO reader, DataGridView dataGridView1)
        {
            SqlDataAdapter SQLDA = new SqlDataAdapter();

            SQLDA.SelectCommand             = new SqlCommand();
            SQLDA.SelectCommand.Connection  = new SqlConnection(XmlConnections.GetConnection("/Connections/CirculationFCC"));
            SQLDA.SelectCommand.CommandText = "select * from Readers..Main where NumberReader = " + reader.ID;
            DataSet DS = new DataSet();

            SQLDA.Fill(DS, "lll");
            dataGridView1.Columns.Add("value", "");
            dataGridView1.ColumnHeadersVisible = false;
            dataGridView1.RowHeadersWidth      = 296;
            dataGridView1.Columns[0].Width     = 436;
            int i = 0;
            Dictionary <string, string> FieldsCaptions = new Dictionary <string, string>();

            SQLDA.SelectCommand.CommandText = "      USE Readers;  " +
                                              "SELECT " +
                                              "             [Table Name] = OBJECT_NAME(c.object_id),  " +
                                              "             [Column Name] = c.name,  " +
                                              "             [Description] = ex.value   " +
                                              "       FROM   " +
                                              "             sys.columns c   " +
                                              "       LEFT OUTER JOIN   " +
                                              "             sys.extended_properties ex   " +
                                              "       ON   " +
                                              "             ex.major_id = c.object_id  " +
                                              "             AND ex.minor_id = c.column_id   " +
                                              "             AND ex.name = 'MS_Description'   " +
                                              "       WHERE   " +
                                              "             OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0   " +
                                              "             AND OBJECT_NAME(c.object_id) = 'Main' " +
                                              "       ORDER  " +
                                              "             BY OBJECT_NAME(c.object_id), c.column_id;";
            SQLDA.Fill(DS, "fldcap");
            foreach (DataRow r in DS.Tables["fldcap"].Rows)
            {
                FieldsCaptions.Add(r["Column Name"].ToString(), r["Description"].ToString());
            }
            foreach (DataColumn col in DS.Tables["lll"].Columns)
            {
                if ((col.ColumnName == "Document") || (col.ColumnName == "DocumentNumber") || (col.ColumnName == "Photo") || (col.ColumnName == "Photo") || (col.ColumnName == "AbonementType") || (col.ColumnName == "SheetWithoutCard") || (col.ColumnName == "Password") || (col.ColumnName == "FamilyNameFind") || (col.ColumnName == "NameFind") || (col.ColumnName == "FatherNameFind") || (col.ColumnName == "Interest"))
                {
                    continue;
                }
                dataGridView1.Rows.Add();
                dataGridView1.Rows[i].HeaderCell.Value = FieldsCaptions[col.ColumnName];
                string value = DS.Tables["lll"].Rows[0][col].ToString();
                value = MethodsForCurBase.GetValueFromList(col.ColumnName, value);
                value = MethodsForCurBase.GetRightBoolValue(value);
                if (DS.Tables["lll"].Rows[0][col].GetType() == typeof(DateTime))
                {
                    value = ((DateTime)DS.Tables["lll"].Rows[0][col]).ToShortDateString();
                }
                dataGridView1.Rows[i].Cells[0].Value = value;
                i++;
            }

            /*SQLDA.SelectCommand.CommandText = "select B.NameInterest intr from Readers..Interest A inner join Readers..InterestList B on A.IDInterest = B.IDInterest where IDReader = " + reader.ID;
             * SQLDA.Fill(DS, "itrs");
             * foreach (DataRow r in DS.Tables["itrs"].Rows)
             * {
             *  dataGridView1.Rows.Add();
             *  dataGridView1.Rows[i].HeaderCell.Value = "Интерес";
             *  dataGridView1.Rows[i].Cells[0].Value = r["intr"].ToString();
             *  i++;
             * }*/
            /*SQLDA.SelectCommand.CommandText = "select B.NameLanguage lng from Readers..Language A inner join Readers..LanguageList B on A.IDLanguage = B.IDLanguage where IDReader = " + reader.ID;
             * SQLDA.Fill(DS, "lng");
             * foreach (DataRow r in DS.Tables["lng"].Rows)
             * {
             *  dataGridView1.Rows.Add();
             *  dataGridView1.Rows[i].HeaderCell.Value = "Язык";
             *  dataGridView1.Rows[i].Cells[0].Value = r["lng"].ToString();
             *  i++;
             * }*/
        }
Пример #42
0
 internal object GetReaderHistory(ReaderVO reader)
 {
     DA.SelectCommand.CommandText = "select 1 ID,C.PLAIN tit,D.PLAIN avt," +
         " INV.SORT inv,A.DATE_ISSUE,ret.DATEACTION DATE_RETURN" +
         " from Reservation_R..ISSUED_ACC A" +
         " left join Readers..Main B on A.IDREADER = B.NumberReader" +
         " left join BJACC..DATAEXT CC on A.IDMAIN = CC.IDMAIN and CC.MNFIELD = 200 and CC.MSFIELD = '$a'" +
         " left join BJACC..DATAEXT DD on A.IDMAIN = DD.IDMAIN and DD.MNFIELD = 700 and DD.MSFIELD = '$a'" +
         " left join BJACC..DATAEXTPLAIN C on C.IDDATAEXT = CC.ID" +
         " left join BJACC..DATAEXTPLAIN D on D.IDDATAEXT = DD.ID" +
         " left join BJACC..DATAEXT INV on A.IDDATA = INV.IDDATA and INV.MNFIELD = 899 and INV.MSFIELD = '$w'" +
         " left join Reservation_R..ISSUED_ACC_ACTIONS ret on ret.IDISSUED_ACC = A.ID and ret.IDACTION = 2 " +
         " where A.IDSTATUS = 2 and A.IDREADER = "+reader.ID+"order by DATE_ISSUE desc";
     DS = new DataSet();
     DA.Fill(DS, "t");
     return DS.Tables["t"];
 }
Пример #43
0
        void Form1_Scanned(string fromport)
        {
            string g = tabControl1.SelectedTab.ToString();
            switch (tabControl1.SelectedTab.Text)
            {
                case "�������� ��������":
                    #region formular
                    ReaderVO reader = new ReaderVO(fromport);
                    FillFormular(reader);

                    #endregion
                    break;
                #region old_formular

                ////string _data = ((IOPOSScanner_1_10)sender).ScanData.ToString();
                //string _data = fromport;
                //if (!dbw.isReader(_data))
                //{
                //    MessageBox.Show("�������� �������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //    return;
                //}
                ///*if (_data.Length < 20)
                //    _data = _data.Remove(0, 1);*/
                ////_data = _data.Remove(_data.Length - 1, 1);
                //ReaderRecordFormular = new DBWork.dbReader(_data);

                //if (ReaderRecordFormular.barcode == "notfoundbynumber")
                //{
                //    MessageBox.Show("�������� �� ������, ���� �������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
                //if (ReaderRecordFormular.barcode == "numsoc")
                //{
                //    MessageBox.Show("�������� �� ������, ���� �������� �������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
                //if (ReaderRecordFormular.barcode == "sersoc")
                //{
                //    MessageBox.Show("�� ������������� ����� ���������� �����!�������� ������� ���������� �����!����� ���������� ����� ������� �������, �� ��������� �����! ����� ���������� ����� ���������� ���������������� � ������������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
                //label20.Text = ReaderRecordFormular.Surname + " " + ReaderRecordFormular.Name + " " + ReaderRecordFormular.SecondName;
                ////textBox6.Text = ReaderRecordFormular.AbonType;
                //label25.Text = ReaderRecordFormular.id;

                ////dbw.SetPenalty(ReaderRecordFormular.id);
                ////this.FormularColumnsForming(ReaderRecordFormular.id);

                ///*Formular.Columns[1].Width = 100;
                //Formular.Columns[2].Visible = false;
                //Formular.Columns[4].Visible = false;
                //Formular.Columns[3].HeaderText = "�����";
                //Formular.Columns[3].Width = 90;
                //Formular.Columns[5].HeaderText = "��� �������";
                //Formular.Columns[5].Width = 110;
                //Formular.Columns[7].Visible = false;
                //Formular.Columns[6].HeaderText = "����� �������";
                //Formular.Columns[6].Width = 170;
                //Formular.Columns[8].HeaderText = "���� ������";
                //Formular.Columns[8].Width = 130;
                //Formular.Columns[9].HeaderText = "�������������� ���� ��������";
                //Formular.Columns[9].Width = 130;
                //Formular.Columns[10].HeaderText = "����������� ���� ��������";
                //Formular.Columns[10].Width = 130;
                //Formular.Columns[11].HeaderText = "���������";
                //Formular.Columns[11].Width = 130;*/

                ////Formular.Columns[8].Visible = false;
                ////Formular.Columns[9].Visible = false;
                //Sorting.WhatStat = Stats.Formular;
                //Sorting.AuthorSort = SortDir.None;
                //Sorting.ZagSort = SortDir.None;
                //break;
                #endregion

                case "����/������ �������":
                    #region priem
                    switch (DEPARTMENT.Circulate(fromport))
                    {
                        case 0:
                            DEPARTMENT.RecieveBook(EmpID);
                            CancelIssue();
                            break;
                        case 1:
                            MessageBox.Show("�������� �� ������ �� � ���� ��������� �� � ���� ����!");
                            break;
                        case 2:
                            MessageBox.Show("�������� �������� ��������, � ������ �������� �������!");
                            break;
                        case 3:
                            MessageBox.Show("�������� �������� �������, � ������ �������� ��������!");
                            break;
                        case 4:
                            lAuthor.Text = DEPARTMENT.ScannedBook.AUTHOR;
                            lTitle.Text = DEPARTMENT.ScannedBook.TITLE;
                            bCancel.Enabled = true;
                            label1.Text = "�������� �������� ��������";
                            break;
                        case 5:
                            lReader.Text = DEPARTMENT.ScannedReader.Family + " " + DEPARTMENT.ScannedReader.Name + " " + DEPARTMENT.ScannedReader.Father;
                            RPhoto.Image = DEPARTMENT.ScannedReader.Photo;
                            bConfirm.Enabled = true;
                            this.AcceptButton = bConfirm;
                            bConfirm.Focus();
                            label1.Text = "����������� ��������";
                            break;

                    }
                    Log();
                    break;
                    #endregion
                #region priem Vidacha staroe

                //label1.Enabled = true;

                ////_data = "9643909027074162622 1107009";

                //if ((this.emul == "") || (this.emul == null))
                //{
                //    _data = FromPort;
                //}
                //else
                //{
                //    _data = this.emul;
                //}
                //if ((this.ReaderRecord != null) && (this.BookRecord != null))
                //{
                //    MessageBox.Show("����������� ���������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //    this.emul = "";
                //    return;
                //}
                ////MessageBox.Show(_data);
                //ReaderRecordWork = null;
                //BookRecordWork = null;
                //if (dbw.isReader(_data))
                //{
                //    /*if (_data.Length < 20)
                //        _data = _data.Remove(0, 1);*/
                //    //_data = _data.Remove(_data.Length - 1, 1);
                //    ReaderRecordWork = new DBWork.dbReader(_data);
                //    if (ReaderRecordWork.barcode == "notfoundbynumber")
                //    {
                //        MessageBox.Show("�������� �� ������, ���� �������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        this.emul = "";
                //        return;
                //    }
                //    if (ReaderRecordWork.barcode == "numsoc")
                //    {
                //        MessageBox.Show("�������� �� ������, ���� �������� �������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        this.emul = "";
                //        return;
                //    }
                //    if (ReaderRecordWork.barcode == "sersoc")
                //    {
                //        MessageBox.Show("�� ������������� ����� ���������� �����!�������� ������� ���������� �����!����� ���������� ����� ������� �������, �� ��������� �����! ����� ���������� ����� ���������� ���������������� � ������������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        this.emul = "";
                //        return;
                //    }

                //    if (this.ReaderRecord != null)
                //    {
                //        this.emul = "";
                //        return;
                //    }
                //    if (this.ReaderRecord != null)
                //    {
                //        MessageBox.Show("����������� ���������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //        this.emul = "";
                //        return;
                //    }
                //    if (ReaderRecordWork.barcode == "error")
                //    {
                //        MessageBox.Show("�������� �� ��������������� ���� �� ������������� ����� ���������� �����!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        this.emul = "";
                //        return;
                //    }
                //    /*if (ReaderRecordWork.RegInMos != DateTime.MinValue)
                //    {
                //        if ((ReaderRecordWork.RegInMos - DateTime.Today).Days < 60)
                //        {
                //            MessageBox.Show("� �������� ������������� ���� ����������� � ������! �������� ����� 60 ����!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //            this.emul = "";
                //        }
                //    }*/

                //}
                //else
                //{
                //    //_data = _data.Remove(_data.Length - 1, 1);
                //    BookRecordWork = new DBWork.dbBook(_data);
                //    if (BookRecordWork.id == "�������� ��������")
                //    {
                //        MessageBox.Show("������ �������� �������� ���� ������� �� �������� (�����) ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        this.emul = "";
                //        return;
                //     }

                //}
                //if ((BookRecord != null) && (BookRecordWork != null))
                //{
                //    MessageBox.Show("������� ��������� 2-� ������� ������! �������� �������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //    this.emul = "";
                //    return;
                //}

                //if (ReaderRecord == null)
                //{
                //    if (BookRecord != null)
                //    {
                //        if (ReaderRecordWork != null)
                //        {
                //            ReaderRecord = ReaderRecordWork.Clone();
                //            this.label5.Text = ReaderRecord.FIO;
                //            //��������� ����� � �������� ����� ������ � ����������� ��� ������
                //            button2.Enabled = true;
                //            button4.Enabled = true;
                //            button2.Focus();
                //            this.AcceptButton = button2;
                //            label1.Text = "����������� ������";
                //        }
                //        else
                //        {
                //            MessageBox.Show("������� ��������� 2-� ������� ������! �������� �������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //            this.emul = "";
                //            return;
                //        }
                //    }
                //    else
                //    {
                //        if (ReaderRecordWork != null)
                //        {
                //            MessageBox.Show("������ �������� ��������! �������� �������� �������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //            this.emul = "";
                //            return;
                //        }
                //        else
                //        {
                //            if (dbw.isBookBusy(_data))
                //            {
                //                string expireddays = GetExpiredDays(BookRecordWork.inv);
                //                dbw.setBookReturned(BookRecordWork.id, BookRecordWork);

                //                if (int.Parse(expireddays) > 0)
                //                {
                //                    MessageBox.Show("������� ������ ����� ��������� �� " + expireddays + " ����. ����� ���������� ");// + CalculatePeny(BookRecordWork.vzv, DateTime.Today).ToString() + " ���.", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //                }

                //                dataGridView1.Rows.Insert(0, 1);
                //                dataGridView1.Rows[0].Cells[0].Value = BookRecordWork.inv;
                //                dataGridView1.Rows[0].Cells[1].Value = BookRecordWork.name;
                //                if (BookRecordWork.rname == "-1")
                //                {
                //                    BookRecordWork.rname = "����������";
                //                }
                //                dataGridView1.Rows[0].Cells[2].Value = BookRecordWork.rname;
                //                dataGridView1.Rows[0].Cells[3].Value = "����������";
                //                dbw.InsertActionRETURNED(new DBWork.dbReader(BookRecordWork.rbar), BookRecordWork);
                //                BookRecord = null;
                //                ReaderRecord = null;
                //                button2.Enabled = false;
                //                button4.Enabled = false;
                //                label1.Text = "�������� �������� �������";
                //                //MessageBox.Show("����� ����������!", "����������", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //                this.emul = "";
                //                return;
                //            }
                //            else
                //            {
                //                this.label8.Text = BookRecordWork.author;
                //                this.label9.Text = BookRecordWork.name;
                //                this.label1.Text = "�������� ����� ��� ��������";
                //                this.button4.Enabled = true;
                //                BookRecord = BookRecordWork.Clone();
                //                this.emul = "";
                //                return;
                //            }
                //        }
                //    }
                //}
                //else
                //{
                //    if (BookRecord != null)
                //    {
                //        MessageBox.Show("����������� ���������� ��������!", "��������!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //        button2.Enabled = true;
                //        button4.Enabled = true;
                //        this.emul = "";
                //        return;
                //    }
                //    else
                //    {
                //        this.label1.Text = "�������� ����� ��� �������!";
                //        BookRecord = null;
                //        ReaderRecord = null;
                //    }
                //}

                ///*if (dbw.isReader(_data))
                //    ReaderRecord = dbw.getDbReader(_data);
                //else
                //    BookRecord = dbw.getDbBook(_data);*/
                //this.emul = "";
                //break;
                #endregion
            }
        }
Пример #44
0
 public void FillFormularGrid(ReaderVO reader)
 {
     lFormularName.Text = reader.Family + " " + reader.Name + " " + reader.Father;
     lFromularNumber.Text = reader.ID.ToString();
     Formular.DataSource = reader.GetFormular();
     Formular.Columns["num"].HeaderText = "��";
     Formular.Columns["num"].Width = 40;
     Formular.Columns["bar"].HeaderText = "��������";
     Formular.Columns["bar"].Width = 80;
     Formular.Columns["avt"].HeaderText = "�����";
     Formular.Columns["avt"].Width = 200;
     Formular.Columns["tit"].HeaderText = "��������";
     Formular.Columns["tit"].Width = 400;
     Formular.Columns["iss"].HeaderText = "���� ������";
     Formular.Columns["iss"].Width = 80;
     Formular.Columns["ret"].HeaderText = "�������������� ���� ��������";
     Formular.Columns["ret"].Width = 110;
     Formular.Columns["shifr"].HeaderText = "�������������� ����";
     Formular.Columns["shifr"].Width = 90;
     Formular.Columns["idiss"].Visible = false;
     Formular.Columns["idr"].Visible = false;
     pictureBox2.Image = reader.Photo;
     foreach (DataGridViewRow r in Formular.Rows)
     {
         DateTime ret = (DateTime)r.Cells["ret"].Value;
         if (ret < DateTime.Now)
         {
             r.DefaultCellStyle.BackColor = Color.Tomato;
         }
     }
 }
Пример #45
0
        public EmailSending(Form1 f1_, ReaderVO reader_)
        {
            InitializeComponent();
            f1          = f1_;
            reader      = reader_;
            label1.Text = reader.FIO;
            int rownum = 0;

            bold = new List <int>();
            //IDISSUED_SCC = IDISS;
            label2.Text = "Дата последней отправки письма: " + reader.GetLastDateEmail();



            Email = reader.GetEmail();
            //WorkEmail = reader.GetWorkEmail();
            //RegEmail = reader.GetRegEmail();
            //LiveEmail = "*****@*****.**";
            //WorkEmail = "*****@*****.**";

            if (Email == "")
            {
                MessageBox.Show("Email не существует или имеет неверный формат!");
                this.Close();
                return;
            }
            this.canshow      = true;
            richTextBox1.Text = "Уважаемый(ая) " + reader.Name + " " + reader.Father + "!" + rn +
                                "Вы задерживаете книги:" + rn + rn;
            foreach (DataGridViewRow r in f1.Formular.Rows)
            {
                if (r.DefaultCellStyle.BackColor == Color.Tomato)
                {
                    rownum++;
                    string zag = r.Cells["tit"].Value.ToString();
                    if (zag.Length > 21)
                    {
                        zag.Remove(20);
                    }
                    TimeSpan ts = DateTime.Now.AddDays(1) - (DateTime)r.Cells["ret"].Value;
                    richTextBox1.Text += rownum.ToString() + ". " + r.Cells["avt"].Value.ToString() +
                                         ", " + zag +
                                         ", выдано: " + ((DateTime)r.Cells["iss"].Value).ToString("dd.MM.yyyy") +
                                         ", дата возврата: ";
                    richTextBox1.Text += ((DateTime)r.Cells["ret"].Value).ToString("dd.MM.yyyy");
                    bold.Add(richTextBox1.TextLength - 10);
                    richTextBox1.Text += ". Задержано на " + ts.Days.ToString() + " дней." + rn;
                }
            }
            if (rownum == 0)
            {
                MessageBox.Show("За читателем нет задоженностей!");
                this.canshow = false;
                this.Close();
                return;
            }
            richTextBox1.Text += rn + "Просим Вас в ближайшее время вернуть литературу в Славянский культурный центр Библиотеки иностранной литературы." + rn +
                                 "С уважением, " + rn +
                                 "Славянский культурный центр ВГБИЛ," + rn +
                                 "тел. +7 (495) " + rn +
                                 "пн-пт - с 11:00 до 20:45." + rn +
                                 "субб - с 11:00 до 18:45";

            foreach (int i in bold)
            {
                richTextBox1.Select(i, 10);
                richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
            }
            htmltext = EmailSending.ConvertRtfToHtml(richTextBox1.Rtf);
        }
Пример #46
0
 private void button10_Click(object sender, EventArgs e)
 {
     ReaderVO reader = new ReaderVO((int)numericUpDown3.Value);
     if (reader.ID == 0)
     {
         MessageBox.Show("�������� �� ������!");
         return;
     }
     FillFormularGrid(reader);
 }
Пример #47
0
 public static void FormTable(ReaderVO reader, DataGridView dataGridView1)
 {
     SqlDataAdapter SQLDA = new SqlDataAdapter();
     SQLDA.SelectCommand = new SqlCommand();
     SQLDA.SelectCommand.Connection = new SqlConnection(XmlConnections.GetConnection("/Connections/CirculationACC"));
     SQLDA.SelectCommand.CommandText = "select * from Readers..Main where NumberReader = " + reader.ID;
     DataSet DS = new DataSet();
     SQLDA.Fill(DS, "lll");
     dataGridView1.Columns.Add("value", "");
     dataGridView1.ColumnHeadersVisible = false;
     dataGridView1.RowHeadersWidth = 296;
     dataGridView1.Columns[0].Width = 436;
     int i = 0;
     Dictionary<string, string> FieldsCaptions = new Dictionary<string, string>();
     SQLDA.SelectCommand.CommandText = "      USE Readers;  " +
                                            "SELECT " +
                                            "             [Table Name] = OBJECT_NAME(c.object_id),  " +
                                            "             [Column Name] = c.name,  " +
                                            "             [Description] = ex.value   " +
                                            "       FROM   " +
                                            "             sys.columns c   " +
                                            "       LEFT OUTER JOIN   " +
                                            "             sys.extended_properties ex   " +
                                            "       ON   " +
                                            "             ex.major_id = c.object_id  " +
                                            "             AND ex.minor_id = c.column_id   " +
                                            "             AND ex.name = 'MS_Description'   " +
                                            "       WHERE   " +
                                            "             OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0   " +
                                            "             AND OBJECT_NAME(c.object_id) = 'Main' " +
                                            "       ORDER  " +
                                            "             BY OBJECT_NAME(c.object_id), c.column_id;";
     SQLDA.Fill(DS, "fldcap");
     foreach (DataRow r in DS.Tables["fldcap"].Rows)
     {
         FieldsCaptions.Add(r["Column Name"].ToString(), r["Description"].ToString());
     }
     foreach (DataColumn col in DS.Tables["lll"].Columns)
     {
         if ((col.ColumnName == "Document") || (col.ColumnName == "DocumentNumber") || (col.ColumnName == "Photo") || (col.ColumnName == "Photo") || (col.ColumnName == "AbonementType") || (col.ColumnName == "SheetWithoutCard") || (col.ColumnName == "Password") || (col.ColumnName == "FamilyNameFind") || (col.ColumnName == "NameFind") || (col.ColumnName == "FatherNameFind") || (col.ColumnName == "Interest"))
         {
             continue;
         }
         dataGridView1.Rows.Add();
         dataGridView1.Rows[i].HeaderCell.Value = FieldsCaptions[col.ColumnName];
         string value = DS.Tables["lll"].Rows[0][col].ToString();
         value = MethodsForCurBase.GetValueFromList(col.ColumnName, value);
         value = MethodsForCurBase.GetRightBoolValue(value);
         if (DS.Tables["lll"].Rows[0][col].GetType() == typeof(DateTime))
         {
             value = ((DateTime)DS.Tables["lll"].Rows[0][col]).ToShortDateString();
         }
         dataGridView1.Rows[i].Cells[0].Value = value;
         i++;
     }
     /*SQLDA.SelectCommand.CommandText = "select B.NameInterest intr from Readers..Interest A inner join Readers..InterestList B on A.IDInterest = B.IDInterest where IDReader = " + reader.ID;
     SQLDA.Fill(DS, "itrs");
     foreach (DataRow r in DS.Tables["itrs"].Rows)
     {
         dataGridView1.Rows.Add();
         dataGridView1.Rows[i].HeaderCell.Value = "Интерес";
         dataGridView1.Rows[i].Cells[0].Value = r["intr"].ToString();
         i++;
     }
     SQLDA.SelectCommand.CommandText = "select B.NameLanguage lng from Readers..Language A inner join Readers..LanguageList B on A.IDLanguage = B.IDLanguage where IDReader = " + reader.ID;
     SQLDA.Fill(DS, "lng");
     foreach (DataRow r in DS.Tables["lng"].Rows)
     {
         dataGridView1.Rows.Add();
         dataGridView1.Rows[i].HeaderCell.Value = "Язык";
         dataGridView1.Rows[i].Cells[0].Value = r["lng"].ToString();
         i++;
     }*/
 }
Пример #48
0
 private void button16_Click(object sender, EventArgs e)
 {
     if (lFromularNumber.Text == "")
     {
         MessageBox.Show("������� ����� ��� �������� �������� ��������!");
         return;
     }
     ReaderVO reader = new ReaderVO(int.Parse(lFromularNumber.Text));
     History f7 = new History(reader);
     f7.ShowDialog();
 }
Пример #49
0
 public ChangeComment(ReaderVO reader_)
 {
     InitializeComponent();
     reader        = reader_;
     textBox1.Text = reader.GetComment();
 }
Пример #50
0
        /// <summary>
        /// Возвращаемые значения:
        /// 0 - успех
        /// 
        /// 
        /// </summary>
        /// <param name="ScannedBook"></param>
        /// <param name="ScannedReader"></param>
        /// <returns></returns>
        internal int ISSUE(BookVO ScannedBook, ReaderVO ScannedReader, int IDEMP)
        {
            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDMAIN", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDDATA", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDREADER", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("DATE_ISSUE", SqlDbType.DateTime);
            DA.InsertCommand.Parameters.Add("DATE_RETURN", SqlDbType.DateTime);
            DA.InsertCommand.Parameters.Add("IDSTATUS", SqlDbType.Int);

            DA.InsertCommand.Parameters["IDMAIN"].Value = ScannedBook.IDMAIN;
            DA.InsertCommand.Parameters["IDDATA"].Value = ScannedBook.IDDATA;
            DA.InsertCommand.Parameters["IDREADER"].Value = ScannedReader.ID;
            DA.InsertCommand.Parameters["DATE_ISSUE"].Value = DateTime.Now;
            DA.InsertCommand.Parameters["DATE_RETURN"].Value = DateTime.Now.AddDays(21);
            DA.InsertCommand.Parameters["IDSTATUS"].Value = 1;
            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC (IDMAIN,IDDATA,IDREADER,DATE_ISSUE,DATE_RETURN,IDSTATUS) values " +
                                            " (@IDMAIN,@IDDATA,@IDREADER,@DATE_ISSUE,@DATE_RETURN,@IDSTATUS);select scope_identity();";
            DA.InsertCommand.Connection.Open();
            object scope_id = DA.InsertCommand.ExecuteScalar();

            DA.InsertCommand.Parameters.Clear();
            DA.InsertCommand.Parameters.Add("IDACTION", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDUSER", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("IDISSUED_ACC", SqlDbType.Int);
            DA.InsertCommand.Parameters.Add("DATEACTION", SqlDbType.DateTime);

            DA.InsertCommand.Parameters["IDACTION"].Value = 1;
            DA.InsertCommand.Parameters["IDUSER"].Value = IDEMP;
            DA.InsertCommand.Parameters["IDISSUED_ACC"].Value = scope_id;
            DA.InsertCommand.Parameters["DATEACTION"].Value = DateTime.Now;

            DA.InsertCommand.CommandText = "insert into Reservation_R..ISSUED_ACC_ACTIONS (IDACTION,IDEMP,IDISSUED_ACC,DATEACTION) values " +
                                            "(@IDACTION,@IDUSER,@IDISSUED_ACC,@DATEACTION)";
            DA.InsertCommand.ExecuteNonQuery();
            DA.InsertCommand.Connection.Close();

            return 0;
        }