Exemple #1
0
 public void Insert(TDto dto)
 {
     try
     {
         WriteActualMethod();
         TEntity entity = Converter.ConvertToEntity(dto);
         Manager.Insert(entity);
     }
     catch (InvalidDateRangeException exception)
     {
         InvalidDateRangeFault fault = new InvalidDateRangeFault();
         fault.Operation   = "insert";
         fault.ProblemType = exception.Message;
         throw new FaultException <InvalidDateRangeFault>(fault);
     }
     catch (AutoUnavailableException exception)
     {
         AutoUnavailableFault fault = new AutoUnavailableFault();
         fault.Operation   = "insert";
         fault.ProblemType = exception.Message;
         throw new FaultException <AutoUnavailableFault>(fault);
     }
     catch (Exception exception)
     {
         UnknownFault fault = new UnknownFault();
         fault.Operation   = "insert";
         fault.ProblemType = exception.Message;
         throw new FaultException <UnknownFault>(fault);
     }
 }
 public void UpdateReservation(ReservationDto reservationToBeUpdated)
 {
     WriteActualMethod();
     try { reservationManager.Update(reservationToBeUpdated.ConvertToEntity()); }
     catch (AutoUnavailableException)
     {
         AutoUnavailableFault auf = new AutoUnavailableFault
         {
             Operation   = "Insert",
             ProblemType = "Auto is not available during this Time Range!"
         };
         throw new FaultException <AutoUnavailableFault>(auf);
     }
     catch (InvalidDateRangeException)
     {
         InvalidDateRangeFault idf = new InvalidDateRangeFault
         {
             Operation   = "Insert",
             ProblemType = "Date is invalid!"
         };
         throw new FaultException <InvalidDateRangeFault>(idf);
     }
     catch (OptimisticConcurrencyException <Reservation> )
     {
         OptimisticConcurrencyFault ocf = new OptimisticConcurrencyFault
         {
             Operation   = "Update",
             ProblemType = "Optimstic Cocurrency Error during updating on Reservation!"
         };
         throw new FaultException <OptimisticConcurrencyFault>(ocf);
     }
 }
        private static void checkForDateRangeException(Reservation res)
        {
            DateTime von         = res.Von;
            DateTime bis         = res.Bis;
            DateTime oneDayLater = von.AddDays(1);

            //von datum muss mindestens 24h vor bis datum sein
            //es wird implizit gleichzeitig geprüft, dass (von < bis)
            if (oneDayLater > bis)
            {
                InvalidDateRangeFault fault = new InvalidDateRangeFault();
                if (bis < von)
                {
                    fault.Message = vonNachBisMessage;
                }
                else
                {
                    fault.Message = min24hMessage;
                }

                fault.Bis = bis;
                fault.Von = von;
                throw new FaultException <InvalidDateRangeFault>(fault);
            }
        }
Exemple #4
0
        public void updateReservation(ReservationDto reservation)
        {
            WriteActualMethod();
            try
            {
                _reservationManager.UpdateReservation(reservation.ConvertToEntity());
            }
            catch (InvalidOperationException)
            {
                OutOfRangeFault fault = new OutOfRangeFault
                {
                    Operation = "update"
                };

                throw new FaultException <OutOfRangeFault>(fault);
            }
            catch (DbUpdateConcurrencyException)
            {
                ConcurrencyFault fault = new ConcurrencyFault();
                throw new FaultException <ConcurrencyFault>(fault);
            }
            catch (AutoUnavailableException)
            {
                AutoUnavailableFault fault = new AutoUnavailableFault()
                {
                    Operation = "update"
                };

                throw new FaultException <AutoUnavailableFault>(fault);
            }
            catch (InvalidDateRangeException)
            {
                InvalidDateRangeFault fault = new InvalidDateRangeFault()
                {
                    Operation = "update"
                };

                throw new FaultException <InvalidDateRangeFault>(fault);
            }
        }
 public void InsertReservation(ReservationDto reservationToBeInserted)
 {
     WriteActualMethod();
     try { reservationManager.Insert(reservationToBeInserted.ConvertToEntity()); }
     catch (AutoUnavailableException)
     {
         AutoUnavailableFault auf = new AutoUnavailableFault
         {
             Operation   = "Insert",
             ProblemType = "Auto is not available during this Time Range!"
         };
         throw new FaultException <AutoUnavailableFault>(auf);
     }
     catch (InvalidDateRangeException)
     {
         InvalidDateRangeFault idf = new InvalidDateRangeFault
         {
             Operation   = "Insert",
             ProblemType = "Date is invalid!"
         };
         throw new FaultException <InvalidDateRangeFault>(idf);
     }
 }
Exemple #6
0
 public void Update(TDto dto)
 {
     try
     {
         WriteActualMethod();
         TEntity entity = Converter.ConvertToEntity(dto);
         Manager.Update(entity);
     }
     catch (InvalidDateRangeException e)
     {
         InvalidDateRangeFault fault = new InvalidDateRangeFault();
         fault.Operation   = "update";
         fault.ProblemType = e.Message;
         throw new FaultException <InvalidDateRangeFault>(fault);
     }
     catch (AutoUnavailableException e)
     {
         AutoUnavailableFault fault = new AutoUnavailableFault();
         fault.Operation   = "update";
         fault.ProblemType = e.Message;
         throw new FaultException <AutoUnavailableFault>(fault);
     }
     catch (OptimisticConcurrencyException <TEntity> e)
     {
         OptimisticConcurrencyFault fault = new OptimisticConcurrencyFault();
         fault.Operation   = "update";
         fault.ProblemType = e.Message;
         throw new FaultException <OptimisticConcurrencyFault>(fault);
     }
     catch (Exception e)
     {
         UnknownFault fault = new UnknownFault();
         fault.Operation   = "update";
         fault.ProblemType = e.Message;
         throw new FaultException <UnknownFault>(fault);
     }
 }
Exemple #7
0
 public void insertReservation(ReservationDto reservation)
 {
     WriteActualMethod();
     try
     {
         _reservationManager.AddReservation(reservation.ConvertToEntity());
     }
     catch (AutoUnavailableException)
     {
         AutoUnavailableFault fault = new AutoUnavailableFault()
         {
             Operation = "insert reservation"
         };
         throw new FaultException <AutoUnavailableFault>(fault);
     }
     catch (InvalidDateRangeException)
     {
         InvalidDateRangeFault fault = new InvalidDateRangeFault()
         {
             Operation = "insert reservation"
         };
         throw new FaultException <InvalidDateRangeFault>(fault);
     }
 }