Example #1
0
        public async Task FillEditViewMoel(EditTeacherViewModel viewModel, string path)
        {

            viewModel.StatesForBirthPlace = viewModel.BirthPlaceState == null
                ? new List<SelectListItem>()
                : _stateService.GetAsSelectListItemAsync(viewModel.BirthPlaceState, path);

            viewModel.StatesForTrainingCeneter = viewModel.TrainingCenterState == null
                ? new List<SelectListItem>()
                : _stateService.GetAsSelectListItemAsync(viewModel.TrainingCenterState,
                    path);

            viewModel.CitiesForBirthPlace = viewModel.BirthPlaceState == null
                ? new List<SelectListItem>()
                : viewModel.BirthPlaceCity == null
                    ? new List<SelectListItem>()
                    : _cityService.GetAsSelectListByStateNameAsync(viewModel.BirthPlaceState,
                        viewModel.BirthPlaceCity, path);

            viewModel.CitiesForTrainingCeneter = viewModel.TrainingCenterState == null
                ? new List<SelectListItem>()
                : viewModel.TrainingCenterCity == null
                    ? new List<SelectListItem>()
                    : _cityService.GetAsSelectListByStateNameAsync(viewModel.TrainingCenterState,
                        viewModel.TrainingCenterCity,
                        path);

            viewModel.TrainingCenters = viewModel.TrainingCenterCity == null
                ? new List<SelectListItem>()
                : viewModel.TrainingCenterId == null
                    ? new List<SelectListItem>()
                    : await
                        _trainingCenterService.GetAsSelectListItemAsync(viewModel.TrainingCenterCity,
                            viewModel.TrainingCenterId);


            viewModel.TrainingCourses = viewModel.TrainingCenterId == null
                ? new List<SelectListItem>()
                : viewModel.TrainingCourseId == null
                    ? new List<SelectListItem>()
                    : await
                        _trainingCourseService.GetAsSelectListByTrainingCenterIdAsync(viewModel.TrainingCenterId.Value,
                            viewModel.TrainingCourseId);

            viewModel.Positions =
                await _titleService.GetAsSelectListItemAsync(TitleType.TeacherPosition, viewModel.PositionId);
        }
Example #2
0
        public virtual async Task<ActionResult> Edit(EditTeacherViewModel viewModel)
        {
            if (!viewModel.NationalCode.IsValidNationalCode())
                this.AddErrors("NationalCode", "لطفا کد ملی را به شکل صحیح وارد کنید");

            if (await _TeacherService.IsTeacherNationalCodeExist(viewModel.NationalCode, viewModel.Id))
                this.AddErrors("NationalCode", "یک استاد بااین کد ملی قبلا در سیستم ثبت شده است");
           
            if (!ModelState.IsValid)
            {
                await _TeacherService.FillEditViewMoel(viewModel, IranCitiesPath);
                return View(viewModel);
            }

            if (!await _TeacherService.IsInDb(viewModel.Id))
                this.AddErrors("FirstName", "استاد مورد نظر توسط یکی از کاربران در شبکه، حذف شده است");

            if (!ModelState.IsValid)
            {
                await _TeacherService.FillEditViewMoel(viewModel, IranCitiesPath);
                return View(MVC.Teacher.Views.Edit, viewModel);
            }

            await _TeacherService.EditAsync(viewModel);
            var message = await _unitOfWork.ConcurrencySaveChangesAsync();

            if (message.HasValue())
            {
                this.AddErrors("FirstName", string.Format(message, "استاد"));
            }

            if (ModelState.IsValid)
                return _userManager.IsOperator()
                    ? RedirectToAction(MVC.Teacher.Details(viewModel.Id))
                    : RedirectToAction(MVC.Teacher.List());

            await _TeacherService.FillEditViewMoel(viewModel, IranCitiesPath);
            return View(MVC.Teacher.Views.Edit, viewModel);
        }
Example #3
0
        public async Task EditAsync(EditTeacherViewModel viewModel)
        {
            var Teacher = await _Teachers.FirstAsync(a => a.Id == viewModel.Id);
            _mappingEngine.Map(viewModel, Teacher);

            if (viewModel.PhotoScan.HasValue())
                Teacher.Photo = Convert.FromBase64String(viewModel.PhotoScan).ResizeImageFile(150, 150);
            else if (viewModel.PhotoFile.HasFile())
            {
                Teacher.Photo = viewModel.PhotoFile.InputStream.ResizeImageFile(150, 150);
            }

            if (viewModel.CopyOfBirthCertificateScan.HasValue())
                Teacher.CopyOfBirthCertificate = Convert.FromBase64String(viewModel.CopyOfBirthCertificateScan).ResizeImageFile(A5Width, A5Height);
            else if (viewModel.CopyOfBirthCertificateFile.HasFile())
            {
                Teacher.CopyOfBirthCertificate = viewModel.CopyOfBirthCertificateFile.InputStream.ResizeImageFile(A5Width, A5Height);
            }


            if (viewModel.CopyOfNationalCardScan.HasValue())
                Teacher.CopyOfNationalCard = Convert.FromBase64String(viewModel.CopyOfNationalCardScan).ResizeImageFile(A6Width, A6Height);
            else if (viewModel.CopyOfNationalCardFile.HasFile())
            {
                Teacher.CopyOfNationalCard = viewModel.CopyOfNationalCardFile.InputStream.ResizeImageFile(A6Width, A6Height);
            }
            Teacher.LasModifierId = _userManager.GetCurrentUserId();
        }