Beispiel #1
0
 public override void EntscheidGesuchHinterlegen(EntscheidGesuch entscheid, DateTime datumEntscheid, string interneBemerkung)
 {
     this.EntscheidGesuchHinterlegenInternal(entscheid, datumEntscheid, interneBemerkung);
 }
        public async Task EntscheidGesuchHinterlegen(string currentUserId, List <int> orderItemIds, EntscheidGesuch entscheid,
                                                     DateTime datumEntscheid, string interneBemerkung)
        {
            var orderList = await GetOrderItems(orderItemIds);

            await statusWechsler.Execute(oi => oi.EntscheidGesuchHinterlegen(entscheid, datumEntscheid, interneBemerkung), orderList,
                                         GetUser(currentUserId), DateTime.Now);
        }
 public virtual void EntscheidGesuchHinterlegen(EntscheidGesuch entscheid, DateTime datumEntscheid, string interneBemerkung)
 {
     ThrowReadableInvalidOperation();
 }
Beispiel #4
0
        public static void EntscheidGesuchHinterlegenInternal(this AuftragStatus auftragStatus, EntscheidGesuch entscheid, DateTime datumEntscheid,
                                                              string interneBemerkung)
        {
            auftragStatus.Context.ThrowIfAuftragstypIsNot(new[]
            {
                OrderType.Einsichtsgesuch
            });

            if (entscheid == EntscheidGesuch.NichtGeprueft)
            {
                throw new Exception("Die Funktion EntscheidGesuchHinterlegen verlangt, dass ein Entscheid getroffen wird.");
            }

            auftragStatus.Context.OrderItem.EntscheidGesuch    = entscheid;
            auftragStatus.Context.OrderItem.DatumDesEntscheids = datumEntscheid;
            auftragStatus.Context.OrderItem.SachbearbeiterId   = auftragStatus.Context.CurrentUser.Id;
            auftragStatus.Context.OrderItem.InternalComment    = auftragStatus.Context.OrderItem.InternalComment.Prepend(interneBemerkung);

            auftragStatus.Context.OrderItem.Abschlussdatum = auftragStatus.Context.TransactionTimeStamp;
            auftragStatus.Context.SetNewStatus(AuftragStatusRepo.Abgeschlossen);

            if (!auftragStatus.Context.OrderItem.VeId.HasValue)
            {
                throw new Exception(
                          "Die Funktion EntscheidGesuchHinterlegen kann nur aufgerufen werden, wenn der Auftrag den Verweis auf eine Verzeichniseinheit enthält.");
            }

            UpdateIndivTokensHelper.RegisterActionForIndivTokensRefresh(auftragStatus);
        }
        public async Task EntscheidGesuchHinterlegen(string currentUserId, List <int> orderItemIds, EntscheidGesuch entscheid,
                                                     DateTime datumEntscheid, string interneBemerkung)
        {
            var client =
                GetRequestClient <EntscheidGesuchHinterlegenRequest>(BusConstants
                                                                     .EntscheidGesuchHinterlegenRequestQueue);
            var entscheidGesuchHinterlegenRequest = new EntscheidGesuchHinterlegenRequest
            {
                UserId           = currentUserId,
                OrderItemIds     = orderItemIds,
                DatumEntscheid   = datumEntscheid,
                Entscheid        = entscheid,
                InterneBemerkung = interneBemerkung
            };

            await client.GetResponse <EntscheidGesuchHinterlegenResponse>(entscheidGesuchHinterlegenRequest);
        }