public async Task <ActionResult> Edit(CompetitionViewModel competitionModel) { //if (!ModelState.IsValid) throw null; var selectedCompetition = await _competitionService.Find(competitionModel.Id); if (selectedCompetition.LogoImage != competitionModel.LogoImage) { var tmpPath = Server.MapPath("~/App_Data/tmp/"); var logoImagePath = Server.MapPath("~/App_Data/Logo_Image/"); await CopyFileAsync(tmpPath + competitionModel.LogoImage, logoImagePath + competitionModel.LogoImage); try { System.IO.File.Delete(logoImagePath + selectedCompetition.LogoImage); } catch (Exception) { } } selectedCompetition.IsPrintCardActive = competitionModel.IsPrintCardActive; selectedCompetition.IsReadyActive = competitionModel.IsReadyActive; selectedCompetition.IsRegisterActive = competitionModel.IsRegisterActive; selectedCompetition.LogoImage = competitionModel.LogoImage; selectedCompetition.Name = competitionModel.Name; selectedCompetition.PrintCardEndDate = competitionModel.PrintCardEndDate; selectedCompetition.PrintCardStartDate = competitionModel.PrintCardStartDate; selectedCompetition.ReadyEndDate = competitionModel.ReadyEndDate; selectedCompetition.ReadyStartDate = competitionModel.ReadyStartDate; selectedCompetition.RegisterStartDate = competitionModel.RegisterStartDate; selectedCompetition.RegisterEndDate = competitionModel.RegisterEndDate; selectedCompetition.Rule = competitionModel.Rule.ToSafeHtml(); selectedCompetition.MaxCommonTechnicalStaffs = competitionModel.MaxCommonTechnicalStaffs; await _dbContext.SaveChangesAsync(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }