public async Task<ActionResult> Add(TechnicalStaffViewModel technicalStaffModel) { var canAddTechnicalStaff = await _participationService .CanAddTechnicalStaff(technicalStaffModel.ParticipationId, Convert.ToInt32(User.Identity.Name)); if (!canAddTechnicalStaff) { ModelState.AddModelError("", "امکان درج کادر فنی جدید وجود ندارد."); return this.JsonValidationErrors(); } var tmpPath = Server.MapPath("~/App_Data/tmp/"); var fullName = string.Format("{0}-{1}", technicalStaffModel.FirstName, technicalStaffModel.LastName).ApplyCorrectYeKe(); if (technicalStaffModel.Id == 0) { var userImagePath = Server.MapPath("~/App_Data/TechnicalStaff_Image/"); await CopyFileAsync(tmpPath + technicalStaffModel.Image, userImagePath + string.Format("{0}-{1}", fullName, technicalStaffModel.Image)); technicalStaffModel.Image = string.Format("{0}-{1}", fullName, technicalStaffModel.Image); } var technicalStaff = new DomainClasses.TechnicalStaff { FirstName = technicalStaffModel.FirstName, BirthDate = technicalStaffModel.BirthDate, FatherName = technicalStaffModel.FatherName, Image = technicalStaffModel.Image, LastName = technicalStaffModel.LastName, NationalCode = technicalStaffModel.NationalCode, Id = technicalStaffModel.Id }; var similarParticipationIds = await _participationService.GetSimilarParticipationSport(technicalStaffModel.ParticipationId, Convert.ToInt32(User.Identity.Name)); foreach (var participationId in similarParticipationIds) { _technicalStaffService.Add(technicalStaff, participationId, technicalStaffModel.TechnicalStaffRoleId); } await _dbContext.SaveChangesAsync(); return new HttpStatusCodeResult(HttpStatusCode.OK); }
// GET: TechnicalStaff/UserPanel public async Task<ActionResult> Add(TechnicalStaffViewModel technicalStaffModel, int competitionId) { var canAddTechnicalStaff = await _competitionService .CanAddCommonTechnicalStaff(competitionId, Convert.ToInt32(User.Identity.Name)); if (!canAddTechnicalStaff) { ModelState.AddModelError("", "امکان درج کادر اجرایی جدید وجود ندارد."); return this.JsonValidationErrors(); } var tmpPath = Server.MapPath("~/App_Data/tmp/"); var fullName = string.Format("{0}-{1}", technicalStaffModel.FirstName, technicalStaffModel.LastName).ApplyCorrectYeKe(); var userImagePath = Server.MapPath("~/App_Data/TechnicalStaff_Image/"); await CopyFileAsync(tmpPath + technicalStaffModel.Image, userImagePath + string.Format("{0}-{1}", fullName, technicalStaffModel.Image)); technicalStaffModel.Image = string.Format("{0}-{1}", fullName, technicalStaffModel.Image); var technicalStaff = new DomainClasses.TechnicalStaff { FirstName = technicalStaffModel.FirstName, BirthDate = technicalStaffModel.BirthDate, FatherName = technicalStaffModel.FatherName, Image = technicalStaffModel.Image, LastName = technicalStaffModel.LastName, NationalCode = technicalStaffModel.NationalCode, Id = technicalStaffModel.Id, MobileNumber = technicalStaffModel.MobileNumber }; _commonTechnicalStaffService.Add(technicalStaff, Convert.ToInt32(User.Identity.Name), competitionId, technicalStaffModel.TechnicalStaffRoleId); await _dbContext.SaveChangesAsync(); return new HttpStatusCodeResult(HttpStatusCode.OK); }
public async Task<ActionResult> Edit(TechnicalStaffViewModel technicalStaffModel) { var selectedTechnicalStaff = await _technicalStaffService.Find(technicalStaffModel.Id); var userId = Convert.ToInt32(User.Identity.Name); if (selectedTechnicalStaff.IsApproved == null || selectedTechnicalStaff.IsApproved == true) { var canEdit = await _participationService.CanEditPerson(technicalStaffModel.ParticipationId, userId); if (!canEdit) { ModelState.AddModelError("", "امکان ویرایش کادر فنی وجود ندارد."); return this.JsonValidationErrors(); } } else { var canEdit = await _participationService.CanEditRejectedPerson(technicalStaffModel.ParticipationId, userId); if (!canEdit) { ModelState.AddModelError("", "امکان ویرایش کادر فنی وجود ندارد."); return this.JsonValidationErrors(); } } if (technicalStaffModel.Image != selectedTechnicalStaff.Image) { var tmpPath = Server.MapPath("~/App_Data/tmp/"); var fullName = string.Format("{0}-{1}", technicalStaffModel.FirstName, technicalStaffModel.LastName).ApplyCorrectYeKe(); var userImagePath = Server.MapPath("~/App_Data/TechnicalStaff_Image/"); await CopyFileAsync(tmpPath + technicalStaffModel.Image, userImagePath + string.Format("{0}-{1}", fullName, technicalStaffModel.Image)); try { System.IO.File.Delete(userImagePath + selectedTechnicalStaff.Image); } catch (Exception) { } selectedTechnicalStaff.Image = string.Format("{0}-{1}", fullName, technicalStaffModel.Image); } selectedTechnicalStaff.FirstName = technicalStaffModel.FirstName; selectedTechnicalStaff.LastName = technicalStaffModel.LastName; selectedTechnicalStaff.FatherName = technicalStaffModel.FatherName; selectedTechnicalStaff.NationalCode = technicalStaffModel.NationalCode; selectedTechnicalStaff.BirthDate = technicalStaffModel.BirthDate; selectedTechnicalStaff.IsApproved = null; var selectedParticipationTechnicalStaff = await _technicalStaffService.GetParticipationTechnicalStaff(technicalStaffModel.ParticipationId, technicalStaffModel.Id); if (technicalStaffModel.TechnicalStaffRoleId != selectedParticipationTechnicalStaff.TechnicalStaffRoleId) selectedParticipationTechnicalStaff.TechnicalStaffRoleId = technicalStaffModel.TechnicalStaffRoleId; await _dbContext.SaveChangesAsync(); return new HttpStatusCodeResult(HttpStatusCode.OK); }