Exemplo n.º 1
0
        public async Task <string> Save()
        {
            try
            {
                string PostObjectStr = await GetPostData();

                PO_Result_Save PostObject = JsonConvert.DeserializeObject <PO_Result_Save>(PostObjectStr);
                DB = new DBSContext();
                string Message = "";

                if (!IsValid(PostObject, out Message))
                {
                    return(JsonConvert.SerializeObject(new { IsSuccess = false, Message = Message }));
                }
                Result _Result = 0 == PostObject.Id ?  new Result() : DB.Results.Find(PostObject.Id);
                _Result.StudentId = PostObject.StudentId;
                _Result.SubjectId = PostObject.SubjectId;
                _Result.Mark      = Math.Round(PostObject.Mark, 2);

                if (0 == PostObject.Id)
                {
                    _Result.DateOfEntry = DateTime.Now;
                    DB.Results.Add(_Result);
                }
                DB.SaveChanges();
                return(JsonConvert.SerializeObject(new { IsSuccess = true }));
            }
            catch (Exception ex)
            {
                return(JsonConvert.SerializeObject(new {
                    IsSuccess = false,
                    Message = Common.GetError(ex)
                }));
            }
        }
Exemplo n.º 2
0
        private bool IsValid(PO_Result_Save PostObject, out string Message)
        {
            Message = "";

            if (0 == PostObject.StudentId)
            {
                Message = "Student is Required!";
                return(false);
            }
            if (0 == PostObject.SubjectId)
            {
                Message = "Subject is Required!";
                return(false);
            }
            if (0 == PostObject.Mark)
            {
                Message = "Mark is Required!";
                return(false);
            }
            if (PostObject.Mark < 0)
            {
                Message = "Mark can not be negetive!";
                return(false);
            }
            if (PostObject.Mark > 100)
            {
                Message = "Mark can not be greater than 100!";
                return(false);
            }
            if (0 == PostObject.Id && DB.Results.Where(x => x.StudentId == PostObject.StudentId &&
                                                       x.SubjectId == PostObject.SubjectId).Count() > 0)
            {
                Message = "Duplicate Exists!";
                return(false);
            }
            if (PostObject.Id > 0 && DB.Results.Where(x => x.StudentId == PostObject.StudentId &&
                                                      x.SubjectId == PostObject.SubjectId && x.ResultId != PostObject.Id).Count() > 0)
            {
                Message = "Duplicate Exists!";
                return(false);
            }
            return(true);
        }