public EmployeeDeveloperTechnicalSkillController()
 {
     empReview           = new EmployeeReview();
     employeeSkillResult = new EmployeeDeveloperTechnicalSkill();
     employeeSkillResult.employeeDeveloperSkillAndScales = new List <EmployeeDeveloperSkillAndScale>();
     employeeSkillResult.employeeTechnicalSkillAndScales = new List <EmployeeTechnicalSkillAndScale>();
 }
        // GET: EmployeeDeveloperTechnicalSkill

        public ActionResult Index(int?hdnCount, int?userId)
        {
            ViewBag.showSignOutButton = true;
            hdnCount = hdnCount == null ? 0 : hdnCount;
            if (userId != null)
            {
                LoginUserId = userId ?? 0;
            }

            //if (employeeDeveloperTechnicalSkill?.employeeDeveloperSkillAndScales ==null)
            //{

            //}

            if (employeeDeveloperTechnicalSkill != null && employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales == null)
            {
                employeeDeveloperTechnicalSkill = empReview.GetDeveloperTechnicalSKillAndScales();
            }
            if (hdnCount < employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales.Count && !IsTechincalSkill)
            {
                var singleSkill = employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales[hdnCount ?? 0];
                List <EmployeeDeveloperSkillAndScale> employeeSkillScale = new List <EmployeeDeveloperSkillAndScale>()
                {
                    new EmployeeDeveloperSkillAndScale {
                        developerSkill = singleSkill.developerSkill, developerSkillScales = singleSkill.developerSkillScales
                    }
                };
                employeeSkillResult.employeeDeveloperSkillAndScales = employeeSkillScale;
            }
            else
            {
                if (!IsTechincalSkill)
                {
                    hdnCount         = 0;
                    IsTechincalSkill = true;
                }
                if (hdnCount < employeeDeveloperTechnicalSkill.employeeTechnicalSkillAndScales.Count)
                {
                    var singleSkill = employeeDeveloperTechnicalSkill.employeeTechnicalSkillAndScales[hdnCount ?? 0];
                    List <EmployeeTechnicalSkillAndScale> employeeSkillScale = new List <EmployeeTechnicalSkillAndScale>()
                    {
                        new EmployeeTechnicalSkillAndScale {
                            technicalSkill = singleSkill.technicalSkill, technicalSkillScales = singleSkill.technicalSkillScales
                        }
                    };
                    employeeSkillResult.employeeTechnicalSkillAndScales = employeeSkillScale;
                }
            }

            if (employeeSkillResult.employeeTechnicalSkillAndScales.Count == 0 && employeeSkillResult.employeeDeveloperSkillAndScales.Count == 0)
            {
                return(RedirectToAction("DisplayDeveloperAndTechnicalSkill", new { userId = LoginUserId }));
            }

            ViewBag.Count = hdnCount + 1;


            return(View(employeeSkillResult));
        }
        public EmployeeDeveloperTechnicalSkill GetDeveloperTechnicalSKillAndScales()
        {
            EmployeeDeveloperTechnicalSkill employeeDeveloperTechnicalSkill = new EmployeeDeveloperTechnicalSkill();

            var developerSkills = employeeContext.DeveloperSkills;
            var technicalSkills = employeeContext.TechnicalSkills;
            var developerScales = employeeContext.DeveloperSkillScales;
            var technicalScales = employeeContext.TechnicalSkillScales;

            foreach (var devSkill in developerSkills)
            {
                List <EmployeeDeveloperSkillAndScale> employeeDeveloperSkillAndScales = new List <EmployeeDeveloperSkillAndScale>()
                {
                    new EmployeeDeveloperSkillAndScale {
                        developerSkill = devSkill, developerSkillScales = developerScales.ToList()
                    }
                };
                if (employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales == null)
                {
                    employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales = employeeDeveloperSkillAndScales;
                }
                else
                {
                    employeeDeveloperTechnicalSkill.employeeDeveloperSkillAndScales.AddRange(employeeDeveloperSkillAndScales);
                }
            }

            foreach (var TechSkill in technicalSkills)
            {
                List <EmployeeTechnicalSkillAndScale> employeeTechnicalSkillAndScales = new List <EmployeeTechnicalSkillAndScale>()
                {
                    new EmployeeTechnicalSkillAndScale {
                        technicalSkill = TechSkill, technicalSkillScales = technicalScales.ToList()
                    }
                };
                if (employeeDeveloperTechnicalSkill.employeeTechnicalSkillAndScales == null)
                {
                    employeeDeveloperTechnicalSkill.employeeTechnicalSkillAndScales = employeeTechnicalSkillAndScales;
                }
                else
                {
                    employeeDeveloperTechnicalSkill.employeeTechnicalSkillAndScales.AddRange(employeeTechnicalSkillAndScales);
                }
            }
            return(employeeDeveloperTechnicalSkill);
        }