예제 #1
0
        /// <summary>
        /// Метод удаления клиента из БД
        /// </summary>
        /// <param name="selectedClient">выбранный клиент</param>
        /// <returns>признак успешной операции, сообщение</returns>
        public static (bool successfully, string message) DeleteClientFromDb(Client selectedClient)
        {
            using (AppDbContext context = new AppDbContext())
            {
                try
                {
                    context.Clients.Remove(selectedClient);
                    context.SaveChanges();
                }
                catch (Exception ex)
                {
                    return(false, ex.Message);
                }

                string message = "Произведена операция удаления:\n" +
                                 $"Клиент: {selectedClient.Passport.FullName.Name}\n" +
                                 $"Карта: {selectedClient.Account.Card.CardName}\n" +
                                 $"Номер: {selectedClient.Account.Card.CardNumber}\n" +
                                 $"Статус: {(selectedClient.Account is RegularAccount ? "Стандарт" : "VIP")}\n" +
                                 $"Дата: {DateTime.Now: dd/MM/yyyy HH:mm:ss}\n" +
                                 "Отчет: Успешно";

                ClientDeleted?.Invoke(null, new DeleteClientEventArgs {
                    LogMessage = message
                });

                return(true, message);
            }
        }
예제 #2
0
        public void sendEvent(ClientItem clientItem)
        {
            Action <DeliveryReportResult <String, ClientDeleted> > handler = r =>
                                                                             Console.WriteLine(!r.Error.IsError
                    ? $"Delivered message to {r.TopicPartitionOffset}"
                    : $"Delivery Error: {r.Error.Reason}");

            var clientDeleted = new ClientDeleted {
                id = clientItem.id.ToString()
            };

            producerCreated
            .ProduceAsync("ClientDeleted", new Message <String, ClientDeleted> {
                Key = clientItem.id.ToString(), Value = clientDeleted
            })
            .ContinueWith(task => task.IsFaulted
                            ? $"error producing message: {task.Exception.Message}"
                            : $"produced to: {task.Result.TopicPartitionOffset}");
        }
예제 #3
0
 public Task Handle(ClientDeleted @event, CancellationToken cancellationToken = default(CancellationToken))
 {
     store.Append(@event.ClientId, @event);
     return(session.SaveChangesAsync(cancellationToken));
 }
 private List <Guid> FindClientAccountIds(IDocumentSession session, ClientDeleted @event)
 {
     return(FindClientAccountIds(session, @event.ClientId));
 }
예제 #5
0
 private void DeleteExcecute()
 {
     Srv.RemoveClient(Client.IdentifiantCli);
     ClientDeleted?.Invoke(this, EventArgs.Empty);
 }
예제 #6
0
 internal void ApplyEvent(ClientDeleted @event)
 {
     IsDeleted = false;
 }
예제 #7
0
 private void Button_Click_1(object sender, RoutedEventArgs e)
 {
     ClientDeleted?.Invoke(this, (listView.SelectedItem as Client));
 }
 public Task Handle(ClientDeleted @event)
 {
     store.Append(@event.Id, @event);
     return(session.SaveChangesAsync());
 }