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