예제 #1
0
 /// <summary>
 /// 释放,开始立即更新所有缓存
 /// </summary>
 public void Dispose()
 {
     if (DoFlush)
     {
         MyMessageQueue.OperateQueue();
     }
 }
 /// <summary>
 /// Méthode permettant de sauvegarder les changements en base de données concernant l'annonceur sélectionné
 /// </summary>
 public void SaveProducer()
 {
     try {
         Producers.Where(producer => producer.Identifier.Equals(SelectedProducer.Identifier));
         this.Entities.SaveChanges();
         MyMessageQueue.Enqueue(SelectedProducer.Name + " a bien été modifié !");
     }
     catch
     {
         MyMessageQueue.Enqueue("Wow, une erreur s'est produite !");
     }
 }
 /// <summary>
 /// Méthode permettant de supprimer l'annonceur sélectionnée de la base de données
 /// </summary>
 public void DeleteProduter()
 {
     try {
         this.Entities.Producers.Remove(SelectedProducer);
         this.Producers.Remove(SelectedProducer);
         this.Entities.SaveChanges();
         MyMessageQueue.Enqueue("Le producteur a bien été supprimé");
     }
     catch
     {
         MyMessageQueue.Enqueue("Une erreur s'est produite !");
     }
 }
예제 #4
0
 /// <summary>
 /// Permet de sauvegarder en base de données les changements appliqués au Domaine de métier sélectionné
 /// </summary>
 public void SaveJobType()
 {
     try
     {
         JobTypes.Where(JobType => JobType.Identifier.Equals(SelectedJobType.Identifier));
         this.Entities.SaveChanges();
         MyMessageQueue.Enqueue(SelectedJobType.Name + " a bien été modifié !");
     }
     catch
     {
         MyMessageQueue.Enqueue("Wow, une erreur s'est produite !");
     }
 }
예제 #5
0
 /// <summary>
 /// Méthode permettant de supprimer le Domaine de métier sélectionnée de la base de données
 /// </summary>
 public void DeleteJobType()
 {
     try
     {
         this.Entities.JobTypes.Remove(SelectedJobType);
         this.JobTypes.Remove(SelectedJobType);
         this.Entities.SaveChanges();
         MyMessageQueue.Enqueue("Le domaine de métier a bien été supprimé");
     }
     catch
     {
         MyMessageQueue.Enqueue("Une erreur s'est produite !");
     }
 }
예제 #6
0
 /// <summary>
 /// Méthode permettant de supprimer le Type de contrat sélectionnée de la base de données
 /// </summary>
 public void DeleteContractType()
 {
     try
     {
         this.Entities.ContractTypes.Remove(SelectedContractType);
         this.ContractTypes.Remove(SelectedContractType);
         this.Entities.SaveChanges();
         MyMessageQueue.Enqueue("Le Type de contrat a bien été supprimé");
     }
     catch
     {
         MyMessageQueue.Enqueue("Une erreur s'est produite !");
     }
 }
예제 #7
0
        private async Task SendEmailNowAsync()
        {
            var messages = GetMessages();

            try
            {
                await _mesageSendService.SendEmailNow(SmtpServer, messages);

                MyMessageQueue.Enqueue("Письмо отправлено");
            }
            catch (EmailSendServiceException ex)
            {
                MyMessageQueue.Enqueue(ex.Message);
            }
        }
예제 #8
0
        /// <summary>
        /// Méthode permettant d'ajouter un Domaine de métier dans l'application, cette méthode n'implémente pas la sauvegarde dans la BDD
        /// et les changements seront perdus si l'élément perd le focus
        /// </summary>
        public void AddJobType()
        {
            try
            {
                JobType JobType = new JobType();
                JobType.Name = "Saisir un nom";
                this.JobTypes.Add(JobType);
                this.Entities.JobTypes.Add(JobType);

                MyMessageQueue.Enqueue("Un Domaine de métier a été ajouté, pensez à l'enregistrer");
            }
            catch
            {
                MyMessageQueue.Enqueue("Une erreur s'est produite !");
            }
        }
        /// <summary>
        /// Méthode permettant de créer un nouvel annonceur dans l'application sans l'ajouter dans la base de données
        /// </summary>
        public void AddProducer()
        {
            try {
                Producer producer = new Producer();
                producer.Name     = "Saisir un nom";
                producer.UserName = CreateRandomPassphrase(8);
                producer.Password = CreateRandomPassphrase(15);

                this.Producers.Add(producer);
                this.Entities.Producers.Add(producer);

                MyMessageQueue.Enqueue("Un producteur a été ajouté, pensez à l'enregistrer");
            }
            catch
            {
                MyMessageQueue.Enqueue("Une erreur s'est produite !");
            }
        }
예제 #10
0
        /// <summary>
        /// Méthode permettant d'ajouter un Métier dans l'application, cette méthode n'implémente pas la sauvegarde dans la BDD
        /// et les changements seront perdus si l'élément perd le focus
        /// </summary>
        public void AddJob()
        {
            try
            {
                Job Job = new Job();
                Job.Name = "Saisir un nom";


                this.Jobs.Add(Job);
                this.Entities.Jobs.Add(Job);

                MyMessageQueue.Enqueue("Un Métier a été ajouté, pensez à l'enregistrer");
            }
            catch
            {
                MyMessageQueue.Enqueue("Une erreur s'est produite !");
            }
        }
예제 #11
0
        private async Task SendEmailShedullerAsync()
        {
            var messages = GetMessages();

            try
            {
                MyMessageQueue.Enqueue($"Письмо будет отправлено {SendDate.ToShortDateString()} в {SendTime.ToShortTimeString()}");
                await Task.Run(() => _mesageSendService.SendEmailScheduler(
                                   SmtpServer,
                                   messages,
                                   SendDate,
                                   SendTime));
            }
            catch (EmailSendServiceException ex)
            {
                MyMessageQueue.Enqueue(ex.Message);
            }
        }
예제 #12
0
        private void BaseContainerBag_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            var containerBag = (IBaseContainerBag)sender;
            var mqKey        = MyMessageQueue.GenerateKey("ContainerBag", sender.GetType(), containerBag.Key, "UpdateContainerBag");

            //获取对应Container的缓存相关

            //加入消息队列,每过一段时间进行自动更新,防止属性连续被编辑,短时间内反复更新缓存。
            var mq = new MyMessageQueue();

            mq.Add(mqKey, () =>
            {
                //var containerCacheStrategy = CacheStrategyFactory.GetContainerCacheStrategyInstance();
                var containerCacheStrategy = CacheStrategyFactory.GetObjectCacheStrategyInstance().ContainerCacheStrategy;
                var itemCacheKey           = ContainerHelper.GetItemCacheKey(containerBag);
                containerBag.CacheTime     = DateTime.Now;//记录缓存时间

                //cacheKey形如:Container:My.Weixin.MP.Containers.AccessTokenBag:wx669ef95216eef885
                containerCacheStrategy.UpdateContainerBag(itemCacheKey, containerBag);
            });
        }
예제 #13
0
        /// <summary>
        /// Méthode permettant d'ajouter une offre temporaire dans l'application sans implémenter la sauvegarde de l'entité dans la base de donnée
        /// </summary>
        public void AddOffer()
        {
            try
            {
                Offer offer = new Offer();
                offer.Name              = "Saisir un nom";
                offer.Reference         = "A déterminer";
                offer.PublishDateTime   = DateTime.Now;
                offer.Duration          = 30;
                offer.StartContractDate = DateTime.Now;
                offer.PostCount         = 1;
                offer.Job = null;
                offer.ProfilDescription = "A saisir";
                offer.Street            = "A saisir";
                offer.Street            = "75000";
                this.Entities.SaveChanges();

                MyMessageQueue.Enqueue("L'offre a bien été ajoutée");
            }
            catch
            {
                MyMessageQueue.Enqueue("Une erreur s'est produite");
            }
        }