public async Task <SkillsBO> UpdateSkill(SkillsBO skill)
        {
            try
            {
                SkillsBO skillBo = new SkillsBO();
                con = await ApexService.DataAccess.DBConnection.ApexConnection();

                cmd = new DBConnection().BuildProcedureCommand("P_Upd_Skill", con);
                cmd.Parameters.AddWithValue("@EmpId", skill.EmpId);
                cmd.Parameters.AddWithValue("@Skillset", skill.Skill);
                cmd.Parameters.AddWithValue("@Used", skill.UsedExperience);
                cmd.Parameters.AddWithValue("@id", skill.id);

                using (var reader = await cmd.ExecuteReaderAsync())
                {
                    if (reader.Read())
                    {
                        skillBo.id             = Convert.ToInt32(reader["id"]);
                        skillBo.Skill          = reader["skill"].ToString();
                        skillBo.UsedExperience = Convert.ToDecimal(reader["usedYears"]);
                        skillBo.lastUPdated    = Convert.ToDateTime(reader["crtDt"]);
                    }
                }
                con.Close();
                return(skillBo);
            }
            catch (Exception es)
            {
                throw es;
            }
        }
 public IRestResponse AddnewSkill(SkillsBO skill)
 {
     try
     {
         var    client      = new RestClient(Url + ApexConfig.AddSkills);
         var    request     = new RestRequest(Method.POST);
         string jsonRequest = JsonConvert.SerializeObject(skill);
         request.AddParameter(
             "application/json; charset=utf-8",
             jsonRequest,
             ParameterType.RequestBody);
         request.AddBody(jsonRequest);
         var response = client.Execute(request);
         return(response);
     }
     catch (Exception es)
     {
         throw es;
     }
 }
        public async Task <HttpResponseMessage> POST(SkillsBO skills)
        {
            try
            {
                skillsObj = await db.AddSkill(skills);

                if (skillsObj.id != 0)
                {
                    return(Request.CreateResponse(HttpStatusCode.Created, skillsObj));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.Conflict, "something bad happened, please raise this to our notice"));
                }
            }
            catch (Exception es)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, es.Message));
            }
        }
        public async Task <List <SkillsBO> > GetSkills(int EmpId)
        {
            try
            {
                SkillsBO skillBo = new SkillsBO();
                con = await ApexService.DataAccess.DBConnection.ApexConnection();

                cmd = new DBConnection().BuildProcedureCommand("P_GET_SKILLS", con);
                cmd.Parameters.AddWithValue("@EmpId", EmpId);
                DataTable      dt      = new DataTable();
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                adapter.Fill(dt);
                con.Close();
                var skillList = Conversions.ConvertDataTable <SkillsBO>(dt);
                return(skillList);
            }
            catch (Exception es)
            {
                throw es;
            }
        }
        public ActionResult InsertSkills(SkillsBO skills)
        {
            skills.EmpId = (int)Session["EmpId"];
            var response = consumer.AddnewSkill(skills);

            var skillset = JsonConvert.DeserializeObject <WorkHistoryBO>(response.Content);

            if ((int)response.StatusCode == 201)
            {
                return(Json(skillset));
            }
            else if ((int)response.StatusCode == 401)
            {
                return(View());
            }
            else
            {
                if (ModelState.IsValid)
                {
                    ModelState.AddModelError(string.Empty, "Something wrong, please raise the issue with support");
                }
                return(View());
            }
        }