public IActionResult UpdateRtMailSettings(RtMailSettings mailSettings)
 {
     if (mailSettings != null)
     {
         _db.UpdateRtMailSettings(mailSettings);
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
Example #2
0
        public void InitRtMailSettings()
        {
            // первоначальна¤ инициализаци¤ настроек Mail
            var client   = new MongoClient("mongodb://localhost:27017");
            var database = client.GetDatabase("RemTool");

            var _rtMailSettingsCol = database.GetCollection <RtMailSettings>("RtMailSettings");

            // проверка существовани¤ объекта
            if (_rtMailSettingsCol.Find(new BsonDocument()).FirstOrDefault() == null)
            {
                // если объекта нет - то создать по умолчанию
                RtMailSettings rtms = new RtMailSettings()
                {
                    // флаг об отправке оповещений на почту админа
                    SendNotificationToHQ = false,

                    // почта админа дл¤ оповещений
                    HQeMail = "",

                    // флаг об отправке на почту клиенту
                    SendNotificationToClient = false,

                    // сообщение по умолчанию в письме запрос¤щему
                    DefaultMessageToClient = "< h3 > ¬аш запрос передан, с ¬ами св¤жутс¤...</ h3 >",

                    // почта за счЄт которой идЄт отправка
                    Credentials_Name = "",

                    Credentials_Pass = "",

                    // SMTP сервер предоставл¤ющий услуги отправки почты
                    SmtpServer_Host = "smtp.yandex.ru",

                    SmtpServer_Port = "587"  //465 // 587
                };

                _rtMailSettingsCol.InsertOne(rtms);
            }
        }
Example #3
0
        public async Task <IActionResult> Post(RtRequest newRtreq)
        {
            RtMailSettings mSettings = await mailSettings.ReadRtMailSettingsAsync();

            if (ModelState.IsValid)
            {
                var rtReq = await db.ReadRtRequestByEMailAsync(newRtreq.Email);

                if (rtReq != null)
                {
                    // < script >
                    //      var nowDate = new Date();
                    //      var day = nowDate.getDate();
                    //      var mounth = nowDate.getMonth();
                    //      var year = nowDate.getFullYear();
                    //      var hours = nowDate.getHours();
                    //      var minutes = nowDate.getMinutes();
                    //      var time = day + " " + mounth + " " + year + " " + hours + " " + minutes;
                    //      document.write(time);
                    // </ script >


                    if (newRtreq.SendedTime != null && rtReq.SendedTime != null)
                    {
                        var newTime = long.Parse(newRtreq.SendedTime);
                        var oldTime = long.Parse(rtReq.SendedTime);

                        //if (newTime > oldTime + 180)
                        if (newTime > oldTime + 10)
                        {
                            //await db.UpdateRtRequestAsync(new RtRequest
                            //{
                            //    Id = rtReq.Id,
                            //    Name = newRtreq.Name,
                            //    Email = newRtreq.Email,
                            //    Phone = newRtreq.Phone,
                            //    ReqInfo = newRtreq.ReqInfo,
                            //    SendedTime = newRtreq.SendedTime
                            //});
                            db.CreateRtRequest(newRtreq);

                            if (mSettings.SendNotificationToClient == true)
                            {
                                string sendResultMessage;
                                var    sendResult = mailSender.SendEMailMessageToClient(
                                    newRtreq.Email,
                                    mSettings.DefaultMessageToClient,
                                    mSettings.Credentials_Name,
                                    mSettings.Credentials_Pass,
                                    mSettings.SmtpServer_Host,
                                    mSettings.SmtpServer_Port,
                                    out sendResultMessage);
                                if (sendResult != 1)
                                {
                                    return(BadRequest(sendResultMessage));
                                }
                            }
                            if (mSettings.SendNotificationToHQ == true)
                            {
                                string sendResultMessage;
                                var    sendResult = mailSender.SendEMailMessageToHQ(
                                    mSettings.HQeMail,
                                    newRtreq,
                                    mSettings.Credentials_Name,
                                    mSettings.Credentials_Pass,
                                    mSettings.SmtpServer_Host,
                                    mSettings.SmtpServer_Port,
                                    out sendResultMessage);
                                if (sendResult != 1)
                                {
                                    return(BadRequest(sendResultMessage));
                                }
                            }
                            return(Ok());
                        }
                        else
                        {
                            return(BadRequest("wait"));
                        }
                    }
                    else
                    {
                        return(BadRequest("bad time"));
                    }
                }
                else
                {
                    db.CreateRtRequest(newRtreq);

                    if (mSettings.SendNotificationToClient == true)
                    {
                        string sendResultMessage;
                        var    sendResult = mailSender.SendEMailMessageToClient(
                            newRtreq.Email,
                            mSettings.DefaultMessageToClient,
                            mSettings.Credentials_Name,
                            mSettings.Credentials_Pass,
                            mSettings.SmtpServer_Host,
                            mSettings.SmtpServer_Port,
                            out sendResultMessage);
                        if (sendResult != 1)
                        {
                            return(BadRequest(sendResultMessage));
                        }
                    }
                    if (mSettings.SendNotificationToHQ == true)
                    {
                        string sendResultMessage;
                        var    sendResult = mailSender.SendEMailMessageToHQ(
                            mSettings.HQeMail,
                            newRtreq,
                            mSettings.Credentials_Name,
                            mSettings.Credentials_Pass,
                            mSettings.SmtpServer_Host,
                            mSettings.SmtpServer_Port,
                            out sendResultMessage);
                        if (sendResult != 1)
                        {
                            return(BadRequest(sendResultMessage));
                        }
                    }

                    return(Ok(newRtreq));
                }
            }
            return(BadRequest(ModelState));
        }
 public void UpdateRtMailSettingsFromCurrent(RtMailSettings refreshedRtMailSettings)
 {
     _rtMailSettingsCol.ReplaceOne(ms => ms.Id == refreshedRtMailSettings.Id, refreshedRtMailSettings);
 }
 public void UpdateRtMailSettings(RtMailSettings newRtMailSettings)
 {
     DeleteRtMailSettings();
     CreateRtMailSettings(newRtMailSettings);
 }
 public void CreateRtMailSettings(RtMailSettings rtMailSettings)
 {
     _rtMailSettingsCol.InsertOne(rtMailSettings);
 }