public async Task <IMailDistributorState> SendMail(DistributorData data, IMailDistributorState state)
        {
            try
            {
                var mailMessage = new MimeMessage();

                mailMessage.To.Add(new MailboxAddress(data.MailInfo.ToName, data.MailInfo.ToAddress));
                mailMessage.From.Add(new MailboxAddress(data.MailInfo.FromName, data.MailInfo.FromAddress));
                mailMessage.Subject = data.MailInfo.Subject;
                var mailMessageBody = new TextPart(TextFormat.Html);
                mailMessageBody.Content = new MimeContent(data.DocumentResult.Stream);
                mailMessage.Body        = mailMessageBody;
                try
                {
                    await(state as State).SmtpClient.SendAsync(mailMessage);
                }
                catch (Exception e)
                {
                    return(new SendMailStatus()
                    {
                        Success = false,
                        ErrorText = e.Message
                    });
                }
                return(SendMailStatus.Ok());
            }
            finally
            {
                await data.DocumentResult.Stream.DisposeAsync();
            }
        }
        public ActionResult Edit(int id, [FromForm] DistributorData distributor)
        {
            try
            {
                _repository.Update(distributor);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(new BadRequestResult());
            }
        }
        public ActionResult Create([FromForm] DistributorData distributors)
        {
            try
            {
                _repository.Add(distributors);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(new BadRequestResult());
            }
        }
        public ActionResult Delete(int id)
        {
            DistributorData distributor = _repository.GetById(id);

            if (distributor != null)
            {
                _repository.Remove(distributor);

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(new BadRequestResult());
            }
        }
        public ObservableCollection <DistributorData> GetDistributorDataByUPC(string upc)
        {
            ObservableCollection <DistributorData> data = new ObservableCollection <DistributorData>();

            MySqlDataReader reader = null;

            try
            {
                string query = "select d.Name, dd.* from distributor_data dd, distributors d where d.DistributorID=dd.DistributorID and UPC=@upc;";
                using (MySqlCommand cmd = new MySqlCommand(query, conn))
                {
                    cmd.Parameters.Add("@upc", MySqlDbType.VarChar);
                    cmd.Parameters[0].Value = upc;
                    using (reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            DistributorData dd = new DistributorData()
                            {
                                DistributorName      = reader.GetString(0),
                                UPC                  = reader.GetString(1),
                                DistributorID        = reader.GetInt32(2),
                                DistributorProductID = reader.GetString(3),
                                Title                = reader.GetString(4),
                                Brand                = reader.GetString(5),
                                Description          = reader.GetString(6),
                                Ingridients          = reader.GetString(7),
                                Features             = reader.GetString(8),
                                Weight               = reader.GetDouble(9),
                                Size                 = reader.GetString(10),
                                UOM                  = reader.GetInt32(11),
                                Unpublish            = reader.GetBoolean(12)
                            };
                            data.Add(dd);
                        }
                    }
                }
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                StaticLogger.LogException(ex);
            }

            return(data);
        }
        public void SaveDistributorData(DistributorData dd)
        {
            try
            {
                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    cmd.CommandText = string.Format("UPDATE distributor_data SET Weight={0}, Size='{1}', UOM={2}, Unpublish={3} Where UPC='{4}' and DistributorID={5}",
                                                    dd.Weight, dd.Size, dd.UOM, dd.Unpublish == true ? 1 : 0, dd.UPC, dd.DistributorID);
                    int numRowsUpdated = cmd.ExecuteNonQuery();
                }
            }
            catch (MySql.Data.MySqlClient.MySqlException ex)
            {
                StaticLogger.LogException(ex);
            }
        }
        public async Task <IMailDistributorState> SendMail(DistributorData data, IMailDistributorState state)
        {
            var mailMessage = new MimeMessage();

            mailMessage.To.Add(new MailboxAddress(data.MailInfo.ToName, data.MailInfo.ToAddress));
            mailMessage.From.Add(new MailboxAddress(data.MailInfo.FromName, data.MailInfo.FromAddress));
            mailMessage.Subject = data.MailInfo.Subject;
            var mailMessageBody = new TextPart(TextFormat.Html);

            mailMessageBody.Content = new MimeContent(data.DocumentResult.Stream);
            mailMessage.Body        = mailMessageBody;

            await using (var targetStream = new FileStream(Path.Combine(_workingDirectory, $"mail-to-{data.MailInfo.ToAddress}.mime"),
                                                           FileMode.Create))
            {
                await mailMessage.WriteToAsync(targetStream);
            }

            return(SendMailStatus.Ok());
        }
        private async Task SendSingleItem(Action <SendMailTaskProgress> progress,
                                          MailData mailData,
                                          MorestachioDocumentInfo parsedTemplate,
                                          CompiledExpression compiledAddressExpression,
                                          CompiledExpression compiledSubjectExpression,
                                          CompiledExpression compiledNameExpression,
                                          CompiledExpression compiledFromAddressExpression,
                                          CompiledExpression compiledFromNameExpression,
                                          IMailDistributorState state)
        {
            DistributorData distributorData = null;

            try
            {
                distributorData = await Compose(mailData, parsedTemplate, compiledAddressExpression,
                                                compiledSubjectExpression,
                                                compiledNameExpression,
                                                compiledFromAddressExpression,
                                                compiledFromNameExpression);

                var sendMailResult = await MailDistributor.SendMail(distributorData, state);

                if (!sendMailResult.Success)
                {
                    progress(new SendMailTaskProgress(distributorData.MailInfo.ToAddress, sendMailResult.ErrorText));
                }
                else
                {
                    progress(new SendMailTaskProgress(distributorData.MailInfo.ToAddress));
                }
            }
            catch (Exception e)
            {
                progress(new SendMailTaskProgress(distributorData?.MailInfo.ToAddress, e.Message));
            }
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            Console.WriteLine("Start!");

            var genre = new Genre("Dubstep");

            _genreRepository.Add(genre);
            Console.WriteLine("Genre created");

            var country = new Country("Germany");

            _countryRepository.Add(country);
            Console.WriteLine("Country created");

            var userData = new CommonUserData("Egop", "Bird", "Tit", DateTime.Today);

            _commonUserDataRepository.Add(userData);
            Console.WriteLine("CommonUserData created");

            var userLibrary = new UserLibrary(new List <Album>(), new List <Playlist>());

            _userLibraryRepository.Add(userLibrary);
            Console.WriteLine("UserLibrary created");

            var art = new Art("image.jpg");

            _artRepository.Add(art);
            Console.WriteLine("Art created");

            var playlist = new Playlist("test playlist", "test description", art, userLibrary,
                                        new List <TrackToPlaylist>());

            _playlistRepository.Add(playlist);
            Console.WriteLine("Playlist created");

            userLibrary.Playlists.Add(playlist);
            _userLibraryRepository.Update(userLibrary);

            Console.WriteLine("Playlist added to UserLibrary");

            var distributorData = new DistributorData("test distributor", country, new List <Album>(),
                                                      new List <ArtistToDistributor>());

            _distributorDataRepository.Add(distributorData);
            Console.WriteLine("DistributorData created");

            var album = new Album("test album", DateTime.Now, art, genre, distributorData, new List <Track>());

            _albumRepository.Add(album);
            Console.WriteLine("Album created");

            var track = new Track("Terror Drums", "test.mp3", 0, false, album, new List <TrackToPlaylist>());

            track.Playlists.Add(new TrackToPlaylist(track, playlist));
            _trackRepository.Add(track);
            Console.WriteLine("Track created");

            //foreach (var genre in _genreRepository.GetAll())
            //{
            //    Console.WriteLine(genre.Title);
            //}
            Console.ReadKey();
        }
 public ArtistToDistributor(ArtistData artist, DistributorData distributor)
 {
     Artist      = artist;
     Distributor = distributor;
 }
Beispiel #11
0
 public void Put(int id, [FromBody] DistributorData value)
 {
     value.Id = id;
     _repository.Update(value);
 }
Beispiel #12
0
 public void Post([FromBody] DistributorData value)
 {
     _repository.Add(value);
 }