Example #1
0
        public async Task <IActionResult> EditTeacher(TeacherEditDto teacherEditDto)
        {
            if (ModelState.IsValid)
            {
                /* Change Detection Update */
                Teacher teacherToEdit = await _db.Teachers.FindAsync(teacherEditDto.Id);

                teacherToEdit.AcademicDegree   = teacherEditDto.AcademicDegree;
                teacherToEdit.BirthDate        = teacherEditDto.BirthDate;
                teacherToEdit.Email            = teacherEditDto.Email;
                teacherToEdit.FirstName        = teacherEditDto.FirstName;
                teacherToEdit.LastName         = teacherEditDto.LastName;
                teacherToEdit.NationalCode     = teacherEditDto.NationalCode;
                teacherToEdit.PhoneNumber      = teacherEditDto.PhoneNumber;
                teacherToEdit.UserName         = teacherEditDto.UserName;
                teacherToEdit.Gender           = teacherEditDto.Gender;
                teacherToEdit.FieldOfStudy     = teacherEditDto.FieldOfStudy;
                teacherToEdit.ConcurrencyStamp = Guid.NewGuid().ToString();

                await _userManager.UpdateNormalizedEmailAsync(teacherToEdit);

                await _userManager.UpdateNormalizedUserNameAsync(teacherToEdit);

                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(teacherEditDto));
        }
        /// <summary>
        /// Updates a teacher.
        /// </summary>
        /// <param name="itemToSave">The item to save.</param>
        /// <param name="accountId">The account identifier.</param>
        /// <returns>The result.</returns>
        public ResultDto UpdateTeacher(TeacherEditDto itemToSave, Guid?accountId)
        {
            ResultDto result = new ResultDto();

            using (BzsEntityContainer ctx = this.CreateContainer())
            {
                TeacherEntity entity = ctx.TeacherSet.FirstOrDefault(f => f.Id == itemToSave.Id);
                if (entity == null)
                {
                    result.Error = "ERR-TEACHER-NOT-EXISTS";
                    return(result);
                }

                if (entity.AccountId == null || entity.AccountId != accountId)
                {
                    result.Error = "ERR-TEACHER-ACCOUNT-INVALID";
                    return(result);
                }

                entity.Code    = itemToSave.Code.Length > 10 ? itemToSave.Code.Substring(0, 9) : itemToSave.Code;
                entity.Caption = itemToSave.Caption.Length > 50 ? itemToSave.Caption.Substring(0, 49) : itemToSave.Caption;
                entity.ModDate = DateTime.Now;
                entity.ModUser = Environment.UserName;

                ctx.SaveChanges();
                result.Success = true;
            }

            return(result);
        }
Example #3
0
        /// <summary>
        /// Updates a teacher.
        /// </summary>
        /// <param name="itemToSave">The item to save.</param>
        /// <returns>The result.</returns>
        public ResultDto UpdateTeacher(TeacherEditDto itemToSave)
        {
            this.SetResponseHeaderCacheExpiration();

            AccountPassword      credentials    = this.GetCredentialsFromRequest();
            AccountServerService accountService = new AccountServerService();
            Guid accountId = accountService.GetAccountId(credentials.Account);

            TeacherServerService service = new TeacherServerService();

            return(service.UpdateTeacher(itemToSave, accountId));
        }
Example #4
0
        public async Task <IActionResult> Edit(int id, [FromBody] TeacherEditDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.GetErrors(model)));
            }

            OperationResult result = await _service.Edit(model);

            if (result.HasError)
            {
                return(this.Unprocessable(result));
            }

            return(Ok(result));
        }