private static void UserData() { UCSContext context = new UCSContext(); string urlRequestToken = "https://usosapps.prz.edu.pl/services/users/user"; string oauth_token = HttpContext.Current.Session["oauth_token"].ToString(); string oauth_token_secret = HttpContext.Current.Session["oauth_token_secret"].ToString(); long timestamp = (long)(DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds; string nonce = Guid.NewGuid().ToString("N"); string parameters = $"fields={WebUtility.UrlEncode("email|first_name|last_name")}&oauth_consumer_key=EmYdreSZDVA2AZGQTkDY&oauth_nonce={nonce}&oauth_signature_method=HMAC-SHA1&oauth_timestamp={timestamp}&oauth_token={oauth_token}&oauth_version=1.0"; string signatureContent = $"GET&{WebUtility.UrlEncode(urlRequestToken)}&{WebUtility.UrlEncode(parameters)}"; HMACSHA1 sha1 = new HMACSHA1() { Key = Encoding.ASCII.GetBytes(WebUtility.UrlEncode("fNterDE3qrTHsxGrgz86yvHVUyrFngamMQR5wLTB") + "&" + WebUtility.HtmlEncode(oauth_token_secret)) }; string signature = Convert.ToBase64String(sha1.ComputeHash(Encoding.ASCII.GetBytes(signatureContent))); string requestUrl = $"https://usosapps.prz.edu.pl/services/users/user?{parameters}&oauth_signature={WebUtility.UrlEncode(signature)}"; using (HttpClient httpClient = new HttpClient()) { HttpResponseMessage response = httpClient.GetAsync(requestUrl).Result; string responseData = response.Content.ReadAsStringAsync().Result; StudentResponseDTO studentData = JsonConvert.DeserializeObject <StudentResponseDTO>(responseData); Student studentDb = context.Students.SingleOrDefault(s => s.UserName == studentData.Email); if (studentDb == null) { Student newStudentDb = new Student() { Guid = Guid.NewGuid().ToString("N"), FirstName = studentData.FirstName, LastName = studentData.LastName, UserName = studentData.Email, IsActive = true, AddedAt = DateTime.Now, LastActivity = DateTime.Now }; context.Students.Add(newStudentDb); context.SaveChanges(); HttpContext.Current.Session["ucs_student_guid"] = newStudentDb.Guid; } else { studentDb.LastActivity = DateTime.Now; context.SaveChanges(); HttpContext.Current.Session["ucs_student_guid"] = studentDb.Guid; } } }
public List <Chat> GetAllThreadById(int id, string userId = null, int studentId = 0) { Chat chatDb = _context.Chats.SingleOrDefault(c => c.Id == id); List <Chat> chatsDb = _context.Chats.Where(c => c.ParentChatId == chatDb.ParentChatId).OrderBy(c => c.AddedAt).ToList(); if (!string.IsNullOrEmpty(userId)) { chatsDb.Where(c => c.ReceiverUserId == userId).All(c => c.IsRead = true); _context.SaveChanges(); } else if (studentId != 0) { chatsDb.Where(c => c.ReceiverStudentId == studentId).All(c => c.IsRead = true); _context.SaveChanges(); } return(chatsDb); }
public HttpResponseMessage Post(MessageDTO message) { HttpResponseMessage response = null; if (message == null || message.CategoryId < 1 || !context.Categories.Any(c => c.Id == message.CategoryId) || string.IsNullOrEmpty(message.Content) || string.IsNullOrEmpty(message.Title) || string.IsNullOrEmpty(message.UserId)) { response = new HttpResponseMessage(HttpStatusCode.BadRequest); return(response); } User userDb = context.Users.SingleOrDefault(u => u.Id == message.UserId); if (userDb == null) { response = new HttpResponseMessage(HttpStatusCode.Unauthorized); return(response); } List <Student> studentsDb = context.Students .Where(s => s.Categories.Any(c => c.CategoryId == message.CategoryId)) .ToList(); Message messageDb = new Message() { Title = message.Title, Content = message.Content, Emails = studentsDb.Select(s => s.UserName).ToList(), AddedAt = DateTime.Now, UserId = message.UserId, SendAt = DateTime.Now }; userDb.Messages.Add(messageDb); context.SaveChanges(); foreach (string email in studentsDb.Select(s => s.UserName)) { MailHelpers.Send(email, messageDb.Title, messageDb.Content); } response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StringContent(studentsDb.Count().ToString(), Encoding.UTF8); return(response); }
public void Add(Category categoryDb) { _context.Categories.Add(categoryDb); _context.SaveChanges(); }
public void Add(Student studentDb) { _context.Students.Add(studentDb); _context.SaveChanges(); }
public void Edit(User userDb) { userDb.LastModifiedAt = DateTime.Now; _context.SaveChanges(); }