async void AddNewSubject(object sender, EventArgs e) { if (!CheckEntries()) { return; } Subject newSubject = new Subject(); newSubject.Name = subjectName; newSubject.NumberOfSession = int.Parse(numberOfSessions); try { var response = await RestClient.Post(path + "/" + App.teacherId, newSubject); if (response.StatusCode == HttpStatusCode.BadRequest) { DisplayErrorAlert("Email already exist!"); } else if (response.StatusCode == HttpStatusCode.Created) { var data = await response.Content.ReadAsStringAsync(); var responseJson = JObject.Parse(data); var subjectId = responseJson["subjectId"].ToString(); //For each subject we are creating a list of students await RecMan.RegisterStudents(students, subjectId); App.Current.MainPage = new NavigationPage(new MainPage()); } else { DisplayErrorAlert("Something went wrong!"); } System.Diagnostics.Debug.WriteLine(response); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); DisplayErrorAlert("Something went wrong!"); } //TODO move this to when the user press on his profile in student page //System.Diagnostics.Debug.WriteLine("hi ali"); //var mediaFile = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions //{ // Directory = "Sample", // Name = "test.jpg" //}); //if (mediaFile == null) // return; //var userName = await RecMan.ExecuteFindSimilarFaceCommandAsync("alialsaeedi191", mediaFile); }
public void Create(Guid?id = null, Guid?createdBy = null, DateTime?createdOn = null, DateTime?loggedOn = null, int minutes = 0, bool isBillable = true, string body = "", List <string> scope = null, List <Guid> relatedRecords = null) { #region << Init >> if (id == null) { id = Guid.NewGuid(); } if (createdBy == null) { createdBy = SystemIds.SystemUserId; } if (createdOn == null) { createdOn = DateTime.UtcNow; } if (loggedOn == null) { loggedOn = DateTime.UtcNow; } #endregion try { var record = new EntityRecord(); record["id"] = id; record["created_by"] = createdBy; record["created_on"] = createdOn; record["logged_on"] = loggedOn.ConvertAppDateToUtc(); record["body"] = body; record["minutes"] = minutes; record["is_billable"] = isBillable; record["l_scope"] = JsonConvert.SerializeObject(scope); record["l_related_records"] = JsonConvert.SerializeObject(relatedRecords); var response = RecMan.CreateRecord("timelog", record); if (!response.Success) { throw new ValidationException(response.Message); } } catch (Exception ex) { throw ex; } }
public List <UserFile> GetFilesList(string type = "", string search = "", int sort = 1, int page = 1, int pageSize = 30) { //sort -> 1(created on), 2(filename alpha) //type -> image,document,audio,video var skipCount = (page - 1) * pageSize; var listSorts = new List <QuerySortObject>(); switch (sort) { case 1: listSorts.Add(new QuerySortObject("created_on", QuerySortType.Descending)); break; case 2: listSorts.Add(new QuerySortObject("name", QuerySortType.Ascending)); break; } var filters = new List <QueryObject>(); if (!String.IsNullOrWhiteSpace(search)) { filters.Add(EntityQuery.QueryOR(EntityQuery.QueryContains("name", search), EntityQuery.QueryContains("alt", search), EntityQuery.QueryContains("caption", search))); } if (!String.IsNullOrWhiteSpace(type)) { filters.Add(EntityQuery.QueryContains("type", type)); } var filterQuery = EntityQuery.QueryAND(filters.ToArray()); EntityQuery query = new EntityQuery("user_file", UserFile.GetQueryColumns(), filterQuery, listSorts.ToArray(), skipCount, pageSize); QueryResponse response = RecMan.Find(query); if (!response.Success) { throw new Exception(response.Message); } var files = response.Object.Data.MapTo <UserFile>(); return(files); }
public void Create(Guid?id = null, Guid?createdBy = null, DateTime?createdOn = null, string body = "", Guid?parentId = null, List <string> scope = null, List <Guid> relatedRecords = null) { #region << Init >> if (id == null) { id = Guid.NewGuid(); } if (createdBy == null) { createdBy = SystemIds.SystemUserId; } if (createdOn == null) { createdOn = DateTime.UtcNow; } #endregion try { var record = new EntityRecord(); record["id"] = id; record["created_by"] = createdBy; record["created_on"] = createdOn; record["body"] = body; record["parent_id"] = parentId; record["l_scope"] = JsonConvert.SerializeObject(scope); record["l_related_records"] = JsonConvert.SerializeObject(relatedRecords); var response = RecMan.CreateRecord("comment", record); if (!response.Success) { throw new ValidationException(response.Message); } } catch (Exception ex) { throw ex; } }
public UserFile CreateUserFile(string path = "", string alt = "", string caption = "") { var userFileRecord = new EntityRecord(); if (path.StartsWith("/fs")) { path = path.Substring(3); } var tempFile = Fs.Find(path); if (tempFile == null) { throw new Exception("File not found on that path"); } var newFileId = Guid.NewGuid(); userFileRecord["id"] = newFileId; userFileRecord["alt"] = alt; userFileRecord["caption"] = caption; var fileKilobytes = Math.Round(((decimal)tempFile.GetBytes().Length / 1024), 2); userFileRecord["size"] = fileKilobytes; userFileRecord["name"] = Path.GetFileName(path); var fileExtension = Path.GetExtension(path); var mimeType = MimeMapping.GetMimeMapping(path); if (mimeType.StartsWith("image")) { var dimensionsRecord = Helpers.GetImageDimension(tempFile.GetBytes()); userFileRecord["width"] = (decimal)dimensionsRecord["width"]; userFileRecord["height"] = (decimal)dimensionsRecord["height"]; userFileRecord["type"] = "image"; } else if (mimeType.StartsWith("video")) { userFileRecord["type"] = "video"; } else if (mimeType.StartsWith("audio")) { userFileRecord["type"] = "audio"; } else if (fileExtension == ".doc" || fileExtension == ".docx" || fileExtension == ".odt" || fileExtension == ".rtf" || fileExtension == ".txt" || fileExtension == ".pdf" || fileExtension == ".html" || fileExtension == ".htm" || fileExtension == ".ppt" || fileExtension == ".pptx" || fileExtension == ".xls" || fileExtension == ".xlsx" || fileExtension == ".ods" || fileExtension == ".odp") { userFileRecord["type"] = "document"; } else { userFileRecord["type"] = "other"; } var newFilePath = $"/file/{newFileId}/{Path.GetFileName(path)}"; using (DbConnection con = DbContext.Current.CreateConnection()) { con.BeginTransaction(); try { var file = Fs.Move(path, newFilePath, false); if (file == null) { throw new Exception("File move from temp folder failed"); } userFileRecord["path"] = newFilePath; var response = RecMan.CreateRecord("user_file", userFileRecord); if (!response.Success) { throw new Exception(response.Message); } userFileRecord = response.Object.Data.First(); con.CommitTransaction(); } catch (Exception ex) { con.RollbackTransaction(); throw ex; } } return(userFileRecord.MapTo <UserFile>()); }