コード例 #1
0
        /// <summary>
        /// Insert Customer Alerts Logs
        /// </summary>
        public Boolean InsertCustomerAlert(string licenseId, int deviceId, string msg, string severity, out int?objId)
        {
            objId = null;
            var customalerts = new CustomerAlert
            {
                LicenseId = licenseId,
                DeviceId  = deviceId,
                Obs       = "",
                Msg       = msg,
                Severity  = severity,
                Created   = DateTime.UtcNow,
                Updated   = DateTime.UtcNow,
                Version   = "1.0"
            };

            using (var context = new CustomerInfoRepository())
            {
                context.CustomerAlerts.Add(customalerts);
                try
                {
                    context.SaveChanges();
                    objId = customalerts.Id;
                    return(true);
                }
                catch (Exception)
                {
                    return(false);
                }
            }
        }
コード例 #2
0
 public void ValidateCustomerAlertFields(CustomerAlert alert)
 {
     _validator.IsWhitespaceOrEmptyOrNull(alert.ProductId);
     _validator.IsWhitespaceOrEmptyOrNull(alert.CustomerName);
     _validator.IsWhitespaceOrEmptyOrNull(alert.PhoneNumber);
     _validator.IsWhitespaceOrEmptyOrNull(alert.CustomerEmailId);
 }
コード例 #3
0
        private void SendMail(CustomerAlert body)
        {
            MailMessage mailMessage = new MailMessage("*****@*****.**", "*****@*****.**")
            {
                Body = "Customer Name : " + body.CustomerName + "\nCustomer Email Id : " +
                       body.CustomerEmailId + "\nPhone Number : " + body.PhoneNumber + "\nProduct ID : " +
                       body.ProductId
            };
            SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587)
            {
                UseDefaultCredentials = true,
                Credentials           = new System.Net.NetworkCredential()
                {
                    UserName = "******",
                    Password = "******"
                },

                EnableSsl = true
            };

            try
            {
                smtpClient.Send(mailMessage);
            }
            catch
            {
                throw new Exception("Invalid data field");
            }
        }
コード例 #4
0
 public IActionResult Post([FromBody] CustomerAlert alert)
 {
     try
     {
         _monitoringRepository.Add(alert);
         return(Ok());
     }
     catch
     {
         return(BadRequest());
     }
 }
コード例 #5
0
        public async Task ReturnsBadRequestStatusCodeWhenAFieldIsNull()
        {
            var setter = new ClientSetUp();
            var alert  = new CustomerAlert()
            {
                CustomerName    = null,
                CustomerEmailId = "*****@*****.**",
                ProductId       = "AB",
                PhoneNumber     = "7874393847"
            };

            var content = setter.CreateAlertContent(alert);
            await setter.SendInvalidPostRequest(content);
        }
コード例 #6
0
        public async Task ReturnsOkStatusCodeWhenAlertIsAdded()
        {
            var setter = new ClientSetUp();
            var alert  = new CustomerAlert()
            {
                CustomerName    = "Venkat",
                CustomerEmailId = "*****@*****.**",
                ProductId       = "X3",
                PhoneNumber     = "7874393847"
            };

            var content  = setter.CreateAlertContent(alert);
            var response = await setter.Client.PostAsync("api/alert/alerts", content);

            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }
コード例 #7
0
        public void Add(CustomerAlert alert)
        {
            _validator.ValidateCustomerAlertFields(alert);
            var con = GetConnection();

            con.Open();
            var cmd = new SQLiteCommand(con)
            {
                CommandText =
                    @"INSERT INTO Customer(CustomerName,CustomerEmailId,ProductId,PhoneNumber)VALUES(@customerName,@customerEmailId,@productId,@phoneNumber)"
            };

            cmd.Parameters.AddWithValue("@customerName", alert.CustomerName);
            cmd.Parameters.AddWithValue("@customerEmailId", alert.CustomerEmailId);
            cmd.Parameters.AddWithValue("@productId", alert.ProductId);
            cmd.Parameters.AddWithValue("@phoneNumber", alert.PhoneNumber);

            cmd.Prepare();
            cmd.ExecuteNonQuery();

            con.Close();
            SendMail(alert);
        }
コード例 #8
0
        public StringContent CreateAlertContent(CustomerAlert alert)
        {
            var content = new StringContent(JsonConvert.SerializeObject(alert), Encoding.UTF8, "application/json");

            return(content);
        }