private ProjectDetail ConvertToDBModel(ProjectDetailVM pd)
 {
     return(new ProjectDetail
     {
         ID = pd.ID,
         LoginID = pd.LoginID,
         Client = pd.Client,
         ProjectTitle = pd.ProjectDetails,
         FromMonth = pd.FromMonth,
         FromYear = pd.FromMonth,
         ToMonth = pd.ToMonth,
         ToYear = pd.ToYear,
         IsCurrent = pd.IsCurrent,
         ProjectLocation = pd.ProjectLocation,
         IsOnsite = pd.IsOnsite,
         EmploymentType = pd.EmploymentType,
         ProjectDetails = pd.ProjectDetails,
         Role = pd.Role,
         RoleDescription = pd.RoleDescription,
         TeamSize = pd.TeamSize,
         SkillsUsed = pd.SkillsUsed,
         DisplayOrder = pd.DisplayOrder,
         UpdatedOn = pd.UpdatedOn
     });
 }
        public async Task <IHttpActionResult> PutProjectDetail(int id, ProjectDetailVM projectDetailVM)
        {
            ProjectDetail projectDetail = ConvertToDBModel(projectDetailVM);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != projectDetail.ID)
            {
                return(BadRequest());
            }

            db.Entry(projectDetail).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProjectDetailExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IHttpActionResult> PostProjectDetail(ProjectDetailVM projectDetail)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ProjectDetails.Add(ConvertToDBModel(projectDetail));
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = projectDetail.ID }, projectDetail));
        }