public async Task <string> Save() { try { string PostObjectStr = await GetPostData(); PO_Class_Save PostObject = JsonConvert.DeserializeObject <PO_Class_Save>(PostObjectStr); DB = new DBSContext(); string Message = ""; if (!IsValid(PostObject, out Message)) { return(JsonConvert.SerializeObject(new { IsSuccess = false, Message = Message })); } Class _Class = 0 == PostObject.Id ? new Class() : DB.Classes.Find(PostObject.Id); _Class.Name = PostObject.Name; _Class.Section = PostObject.Section; if (0 == PostObject.Id) { _Class.DateOfEntry = DateTime.Now; DB.Classes.Add(_Class); } 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_Class_Save PostObject, out string Message) { Message = ""; if (string.IsNullOrEmpty(PostObject.Name)) { Message = "Name is Required!"; return(false); } if (string.IsNullOrEmpty(PostObject.Section)) { Message = "Section is Required!"; return(false); } if (0 == PostObject.Id && DB.Classes.Where(x => x.Name == PostObject.Name).Count() > 0) { Message = "Duplicate Name Exists!"; return(false); } if (PostObject.Id > 0 && DB.Classes.Where(x => x.Name == PostObject.Name && x.ClassId != PostObject.Id).Count() > 0) { Message = "Duplicate Name Exists!"; return(false); } return(true); }