public void UpdateExistingActionsBySalesChannel(ActionDto actionDto)
        {
            // 1st way using UpdateExistingActionByCustomer
            //using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
            //{
            //    connection.Open();
            //    using (NpgsqlTransaction transaction = connection.BeginTransaction())
            //    {
            //        try
            //        {
            //            IEnumerable<long> customerIds = this.customerSalesChannelService.SelectCustomerIdsByCustomerService(connection, actionDto.SalesChannelId);
            //            foreach (long customerId in customerIds)
            //            {
            //                actionDto.CustomerId = customerId;
            //                ActionEntity action = this.dtoToEntityMapper.Map<ActionDto, ActionEntity>(actionDto);
            //                this.actionService.UpdateByCustomerId(connection, action);
            //            }
            //            transaction.Commit();
            //        }
            //        catch(Exception ex)
            //        {
            //            transaction.Rollback();
            //            Console.WriteLine(ex.Message);
            //        }
            //    }
            //}

            // 2nd way: Using SalesChannelId only
            using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
            {
                DomainLayer.Entities.ActionEntities.Action action = this.dtoToEntityMapper.Map <ActionDto, DomainLayer.Entities.ActionEntities.Action>(actionDto);
                this.actionService.UpdateBySalesChannelId(connection, action);
            }
        }
 public void CreateNewAction(ActionDto actionDto)
 {
     using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
     {
         DomainLayer.Entities.ActionEntities.Action action = this.dtoToEntityMapper.Map <ActionDto, DomainLayer.Entities.ActionEntities.Action>(actionDto);
         this.actionService.Insert(connection, action);
     }
 }
 public void UpdateExistingActionByCustomerId(ActionDto actionDto)
 {
     using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
     {
         DomainLayer.Entities.ActionEntities.Action action = this.dtoToEntityMapper.Map <ActionDto, DomainLayer.Entities.ActionEntities.Action>(actionDto);
         this.actionService.UpdateByCustomerId(connection, action);
     }
 }
 public ActionDto Get(long id)
 {
     using (NpgsqlConnection connection = this.databaseConnectionFactory.Instance.Create())
     {
         DomainLayer.Entities.ActionEntities.Action actionEntity = this.actionService.SelectById(connection, id);
         ActionDto actionDto = this.dtoToEntityMapper.MapView <DomainLayer.Entities.ActionEntities.Action, ActionDto>(actionEntity);
         return(actionDto);
     }
 }