public HttpResponseMessage SaveMstChecList(MstCheckList checklist)
        {
            try
            {
                var MstChecListData = from d in db.MstCheckLists where d.Id == Convert.ToInt32(checklist.Id) select d;
                if (MstChecListData.Any())
                {
                    if (MstChecListData.First().IsLocked == false)
                    {
                        var currentUser = from d in db.MstUsers
                                          where d.AspNetId == User.Identity.GetUserId()
                                          select d;

                        if (currentUser.Any())
                        {
                            var UpdateMstChecListData = MstChecListData.FirstOrDefault();

                            UpdateMstChecListData.CheckListCode   = checklist.ChecklistCode;
                            UpdateMstChecListData.CheckList       = checklist.Checklist;
                            UpdateMstChecListData.CheckListDate   = Convert.ToDateTime(checklist.ChecklistDate);
                            UpdateMstChecListData.ProjectId       = checklist.ProjectId;
                            UpdateMstChecListData.Remarks         = checklist.Remarks;
                            UpdateMstChecListData.Status          = checklist.Status;
                            UpdateMstChecListData.UpdatedBy       = currentUser.FirstOrDefault().Id;
                            UpdateMstChecListData.UpdatedDateTime = DateTime.Now;

                            db.SubmitChanges();

                            return(Request.CreateResponse(HttpStatusCode.OK));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.BadRequest));
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest));
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
        public Int32 PostMstCheckList(MstCheckList checklist)
        {
            try
            {
                var currentUser = from d in db.MstUsers
                                  where d.AspNetId == User.Identity.GetUserId()
                                  select d;

                if (currentUser.Any())
                {
                    string checklistCode = "0001";
                    var    checklists    = from d in db.MstCheckLists.OrderByDescending(d => d.Id) select d;
                    if (checklists.Any())
                    {
                        Int32 nextChecklistCode = Convert.ToInt32(checklists.FirstOrDefault().CheckListCode) + 1;
                        checklistCode = padNumWithZero(nextChecklistCode, 4);
                    }

                    Data.MstCheckList newMstChecList = new Data.MstCheckList()
                    {
                        CheckListCode   = checklistCode,
                        CheckList       = checklist.Checklist,
                        CheckListDate   = Convert.ToDateTime(checklist.ChecklistDate),
                        ProjectId       = checklist.ProjectId,
                        Remarks         = checklist.Remarks,
                        Status          = checklist.Status,
                        IsLocked        = checklist.IsLocked,
                        CreatedBy       = currentUser.FirstOrDefault().Id,
                        CreatedDateTime = DateTime.Now,
                        UpdatedBy       = currentUser.FirstOrDefault().Id,
                        UpdatedDateTime = DateTime.Now,
                    };

                    db.MstCheckLists.InsertOnSubmit(newMstChecList);
                    db.SubmitChanges();

                    return(newMstChecList.Id);
                }
                else
                {
                    return(0);
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(0);
            }
        }