//
        // GET: /Admin/LogDetails(id = 0)

        public ActionResult LogDetails(int id = 0)
        {
            this.logger.Info("Entering: " + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName + ": " + System.Reflection.MethodBase.GetCurrentMethod().Name + " --> " + User.Identity.Name);
            try {
                using (var db = new ELearningDatabaseEntitiesServer()) {
                    Logs log = new Logs();

                    using (var client = new HttpClient()) {
                        client.BaseAddress = new Uri(this.apiMethodsUrl);
                        client.DefaultRequestHeaders.Accept.Add(
                            new MediaTypeWithQualityHeaderValue("application/json")
                            );
                        HttpResponseMessage response = client.GetAsync("api/admin/GetLogById/?id=" + id).Result;
                        if (response.IsSuccessStatusCode)
                        {
                            log = response.Content.ReadAsAsync <Logs>().Result;
                            if (log == null)
                            {
                                throw new CustomException("Fail.");
                            }
                        }
                        else
                        {
                            throw new CustomException("Fail.");
                        }
                    }

                    LogsViewModel lvm = this.viewModelFactory.GetViewModel(log);
                    return(View(lvm));
                }
            }
            catch (CustomException ce) {
                this.logger.Trace(ce, "Username: "******"Operation could not be completed!";
                return(View("Error"));
            }
            catch (Exception ex) {
                this.logger.Trace(ex, "Username: "******"Operation could not be completed!";
                return(View("Error"));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the view model for a message.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        /// <exception cref="CustomException"></exception>
        public MessagesViewModel GetViewModel(Messages message)
        {
            try {
                MessagesViewModel mvm = new MessagesViewModel();
                mvm.MessageId = message.MessageId;

                DateTime messageData = message.MesageData ?? DateTime.Now;
                mvm.MesageData = messageData;

                mvm.MessageContent = message.MessageContent;
                Users messageUser = new Users();
                using (var db = new ELearningDatabaseEntitiesServer()) {
                    messageUser = db.Users
                                  .Where(u => u.UserId == message.UserId)
                                  .First();
                }
                mvm.user = messageUser;
                return(mvm);
            }
            catch (Exception ex) {
                throw new CustomException(ex.Message);
            }
        }