public async Task <string> Save() { try { string PostObjectStr = await GetPostData(); PO_Subject_Save PostObject = JsonConvert.DeserializeObject <PO_Subject_Save>(PostObjectStr); DB = new DBSContext(); string Message = ""; if (!IsValid(PostObject, out Message)) { return(JsonConvert.SerializeObject(new { IsSuccess = false, Message = Message })); } Subject _Subject = 0 == PostObject.Id ? new Subject() : DB.Subjects.Find(PostObject.Id); _Subject.Name = PostObject.Name; if (0 == PostObject.Id) { _Subject.DateOfEntry = DateTime.Now; DB.Subjects.Add(_Subject); } DB.SaveChanges(); return(JsonConvert.SerializeObject(new { IsSuccess = true })); } catch (Exception ex) { return(JsonConvert.SerializeObject(new { IsSuccess = false, Message = Common.GetError(ex) })); } }
private bool IsValid(PO_Subject_Save PostObject, out string Message) { Message = ""; if (string.IsNullOrEmpty(PostObject.Name)) { Message = "Name is Required!"; return(false); } if (0 == PostObject.Id && DB.Subjects.Where(x => x.Name == PostObject.Name).Count() > 0) { Message = "Duplicate Name Exists!"; return(false); } if (PostObject.Id > 0 && DB.Subjects.Where(x => x.Name == PostObject.Name && x.SubjectId != PostObject.Id).Count() > 0) { Message = "Duplicate Name Exists!"; return(false); } return(true); }