コード例 #1
0
        /// <summary>
        /// Оброботчик события клика кнопки отправить
        /// </summary>
        /// <param name="sender">Объект, инициировавший событие</param>
        /// <param name="e">данные события</param>
        private void btnSend_onClick(object sender, EventArgs e)
        {
            ReportEMailNSS rep = new ReportEMailNSS();

            TepCommon.HandlerDbTaskCalculate.KEY_VALUES key;
            DateTime dtValues = DateTime.MinValue;
            IEnumerable <HandlerDbTaskCalculate.PUT_PARAMETER> putParameters;
            string e_mail = string.Empty;

            key = new TepCommon.HandlerDbTaskCalculate.KEY_VALUES()
            {
                TypeCalculate = TepCommon.HandlerDbTaskCalculate.TaskCalculate.TYPE.OUT_VALUES
                , TypeState   = HandlerDbValues.STATE_VALUE.EDIT
            };
            dtValues      = (Controls.Find(PanelManagementAutobookMonthValues.INDEX_CONTROL.CALENDAR_EMAIL.ToString(), true)[0] as DateTimePicker).Value.Date;
            putParameters = HandlerDb.GetPutParameters("191");
            e_mail        = (Controls.Find(PanelManagementAutobookMonthValues.INDEX_CONTROL.TXTBX_EMAIL.ToString(), true)[0] as TextBox).Text;

            if (HandlerDb.Values.ContainsKey(key) == true)
            {
                rep.SendMailToNSS(putParameters
                                  , (from value in HandlerDb.Values[key]
                                     where (value.stamp_value == ((HandlerDb.ModeDataDatetime == HandlerDbTaskCalculate.MODE_DATA_DATETIME.Begined)
                                ? dtValues.AddDays(1).Add(-Session.m_curOffsetUTC) // в случае, если данные сохраняются с меткой "начало интервала"
                                    : ((HandlerDb.ModeDataDatetime == HandlerDbTaskCalculate.MODE_DATA_DATETIME.Ended)
                                        ? dtValues.Add(-Session.m_curOffsetUTC)    // в случае, если данные сохраняются с меткой "окончание интервала"
                                            : DateTime.MinValue))) &&
                                     (putParameters.Select(putPar => putPar.m_Id).Contains(value.m_IdPut))
                                     select value)
                                  , HandlerDb.GetValueAsRatio
                                  , dtValues
                                  , e_mail);
            }
            else
            {
                Logging.Logg().Error(string.Format(@"PanelTaskAutobookMonthValues::btnSend_onClick () - нет данных для отправления по e-mail..."), Logging.INDEX_MESSAGE.NOT_SET);
            }
        }