public SpecialistMaintenanceProfile FirstSpecialistMaintenanceProfile()
        {
            var firstSpecialistMaintenanceProfile = new SpecialistMaintenanceProfile {

                 MaintenanceCompanyLookUp = new MaintenanceCompanyLookUp()
            ,
                 MaintenanceCompany = new MaintenanceCompany()
            ,
                 MaintenanceCompanySpecialization = new MaintenanceCompanySpecialization()
            ,
                 MaintenanceCustomService = new MaintenanceCustomService()
            ,
                 MaintenanceExterior = new MaintenanceExterior()
            ,
                 MaintenanceInterior = new MaintenanceInterior()
            ,
                 MaintenanceNewConstruction = new MaintenanceNewConstruction()
            ,
                 MaintenanceRepair = new MaintenanceRepair()
            ,
                 MaintenanceUtility = new MaintenanceUtility()

             };

            return firstSpecialistMaintenanceProfile;
        }
 public ActionResult CompleteProfile(SpecialistMaintenanceProfile spf)
 {
     if (ModelState.IsValid)
         {
             UserHelper.SpecialistPrivateProfileHelper.CompleteSpecialistMaitenanceProfile(spf);
                 return RedirectToAction("Index");
         }
         return View(spf);
 }
        public PartialViewResult _Coverage(int id)
        {
            if (id != 0)
            {
                const int specialistrole = 1;
                var lookUp =
                    UnitofWork.MaintenanceCompanyLookUpRepository.FindBy(x => x.Role == specialistrole && x.UserId == id).FirstOrDefault();
                if (lookUp != null)
                {
                    int companyId = lookUp.CompanyId;

                    var mp = new SpecialistMaintenanceProfile
                    {
                        MaintenanceCompanyLookUp = UnitofWork.MaintenanceCompanyLookUpRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceCompany = UnitofWork.MaintenanceCompanyRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceCompanySpecialization = UnitofWork.MaintenanceCompanySpecializationRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceCustomService = UnitofWork.MaintenanceCustomServiceRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceExterior = UnitofWork.MaintenanceExteriorRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceInterior = UnitofWork.MaintenanceInteriorRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceNewConstruction = UnitofWork.MaintenanceNewConstructionRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceRepair = UnitofWork.MaintenanceRepairRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault(),
                        MaintenanceUtility = UnitofWork.MaintenanceUtilityRepository.FindBy(x => x.CompanyId == companyId).FirstOrDefault()
                    };
                    return PartialView(mp);
                }
            }
            return null;
        }
 public void CompleteSpecialistMaitenanceProfile(SpecialistMaintenanceProfile spf)
 {
     EditSpecialistMaintenanceProfile(spf);
     SpecialistPrivateUpdateProfileCompletion(SpecialistPrivateCalculateNewProfileCompletionPercentage(spf.MaintenanceCompany));
     UpdateSpecialistProfile(spf.MaintenanceCompany);
     UnitofWork.Save();
 }
        public void EditSpecialistMaintenanceProfile(SpecialistMaintenanceProfile spf)
        {
            spf.MaintenanceCompanySpecialization.Currency = UserHelper.GetCurrencyValue(spf.MaintenanceCompanySpecialization.CurrencyID);

            UnitofWork.MaintenanceCompanyRepository.Edit(spf.MaintenanceCompany);
            UnitofWork.MaintenanceCompanyLookUpRepository.Edit(spf.MaintenanceCompanyLookUp);
            UnitofWork.MaintenanceCompanySpecializationRepository.Edit(spf.MaintenanceCompanySpecialization);
            UnitofWork.MaintenanceCustomServiceRepository.Edit(spf.MaintenanceCustomService);
            UnitofWork.MaintenanceExteriorRepository.Edit(spf.MaintenanceExterior);
            UnitofWork.MaintenanceInteriorRepository.Edit(spf.MaintenanceInterior);
            UnitofWork.MaintenanceNewConstructionRepository.Edit(spf.MaintenanceNewConstruction);
            UnitofWork.MaintenanceRepairRepository.Edit(spf.MaintenanceRepair);
            UnitofWork.MaintenanceUtilityRepository.Edit(spf.MaintenanceUtility);
        }
 public void EditSpecialistMaintenanceProfile(SpecialistMaintenanceProfile spf)
 {
     SpecialistPrivateProfileHelper.EditSpecialistMaintenanceProfile(spf);
 }
 public void CompleteSpecialistMaitenanceProfile(SpecialistMaintenanceProfile spf)
 {
     SpecialistPrivateProfileHelper.CompleteSpecialistMaitenanceProfile(spf);
 }