public IActionResult Update(VisitorNotificationResource visitorNotification)
        {
            try
            {
                VisitorNotificationManager visitorNotificationMng = new VisitorNotificationManager();
                var visitorNotificationDb = visitorNotificationMng.GetRecordById(visitorNotification.Id);
                if (visitorNotificationDb == null)
                {
                    return(BadRequest("Invalid visitor notification id!"));
                }

                visitorNotificationDb.SentDate = visitorNotification.SentDate;

                if (visitorNotificationDb.Visitor.Id != visitorNotification.VisitorId)
                {
                    VisitorManager visitorMng = new VisitorManager();
                    Visitor        visitor    = visitorMng.GetRecordById(visitorNotification.VisitorId);
                    if (visitor == null)
                    {
                        return(BadRequest("Invalid visitor id!"));
                    }
                    visitorNotificationDb.Visitor = visitor;
                }

                if (visitorNotificationDb.PositiveCase.Id != visitorNotification.PositiveCaseId)
                {
                    PositiveCaseManager positiveCaseMng = new PositiveCaseManager();
                    PositiveCase        positiveCase    = positiveCaseMng.GetRecordById(visitorNotification.PositiveCaseId);
                    if (positiveCase == null)
                    {
                        return(BadRequest("Invalid positive case id!"));
                    }
                    visitorNotificationDb.PositiveCase = positiveCase;
                }

                visitorNotificationMng.Update(visitorNotificationDb);
                return(Ok());
            }
            catch (EntityValidationException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch
            {
                return(Problem());
            }
        }
示例#2
0
        /// <summary>
        /// Maps a VisitorNotification to VisitorNotificationResource.
        /// </summary>
        /// <param name="visitorNotificationResource">The visitor notification.</param>
        /// <returns>A VisitorNotification</returns>
        public static VisitorNotification ToVisitorNotification(this VisitorNotificationResource visitorNotificationResource)
        {
            return(new VisitorNotification()
            {
                Id = visitorNotificationResource.Id,
                PositiveCase = new PositiveCase()
                {
                    Id = visitorNotificationResource.PositiveCaseId
                },

                Visitor = new Visitor()
                {
                    Id = visitorNotificationResource.VisitorId
                },
                SentDate = visitorNotificationResource.SentDate
            });
        }
 public IActionResult New(VisitorNotificationResource visitorNotification)
 {
     try
     {
         VisitorNotificationManager visitorNotificationMng = new VisitorNotificationManager();
         visitorNotificationMng.Insert(visitorNotification.ToVisitorNotification());
         return(Ok());
     }
     catch (EntityValidationException ex)
     {
         return(BadRequest(ex.Message));
     }
     catch
     {
         return(Problem());
     }
 }