public async Task <ConsultancyResponse> UpdateAsync(int id, Consultancy consultancy) { var existingConsultancy = await _consultancyRepository.FindById(id); if (existingConsultancy == null) { return(new ConsultancyResponse("Consultancy no found")); } existingConsultancy.Diagnosis = consultancy.Diagnosis; existingConsultancy.Recommendation = consultancy.Recommendation; try { _consultancyRepository.Update(existingConsultancy); await _unitOfWork.CompleteAsync(); return(new ConsultancyResponse(existingConsultancy)); } catch (Exception ex) { return(new ConsultancyResponse($"An error ocurred when while saving consultancy: {ex.Message}")); } }
public ActionResult Edit(int id, ConsultancyModel _EditConsultancyModel) { if (ModelState.IsValid) { _EditConsultancyModel.AddedDate = DateTime.Now; _EditConsultancyModel.ModifiedDate = null; _EditConsultancyModel.DeleteFlag = false; _EditConsultancyModel.DeletedDate = DateTime.Now; //UpdateModel(_EditConsultancyModel); //_dbContext.Entry(_EditConsultancyModel).State = EntityState.Modified; //_dbContext.SaveChanges(); _EditConsultancyModel = _dbContext.tbl_consultancy.Find(id); if (System.IO.File.Exists(Server.MapPath("~/Areas/Admin/Images/") + _EditConsultancyModel.Logo)) { System.IO.File.Delete(Server.MapPath("~/Areas/Admin/Images/") + _EditConsultancyModel.Logo); string targetFolder = HttpContext.Server.MapPath("~/Areas/Admin/Images/"); string targetPath = Path.Combine(targetFolder, Request.Files[0].FileName); Request.Files[0].SaveAs(targetPath); } _EditConsultancyModel.Logo = Request.Files[0].FileName; _consultancyRepository.Update(_EditConsultancyModel); // This function called from the "Repository" folder which is dependency injection of Unity in App_Start which is also registered in Global.asax //_dbContext.tbl_consultancy.Add(_EditConsultancyModel); // _dbContext.tbl_consultancy.Attach(_EditConsultancyModel); //try //{ // _dbContext.tbl_consultancy.Attach(_EditConsultancyModel); // var entry = _dbContext.Entry(_EditConsultancyModel); // entry.Property(e => e.Address).IsModified = true; // entry.Property(e => e.City).IsModified = true; // entry.Property(e => e.Description).IsModified = true; // entry.Property(e => e.Name).IsModified = true; // entry.Property(e => e.State).IsModified = true; // entry.Property(e => e.Status).IsModified = true; // entry.Property(e => e.Latitude).IsModified = true; // entry.Property(e => e.Longitude).IsModified = true; // _dbContext.SaveChanges(); //} //catch (Exception e) //{ // Response.Write(e.Message); // Response.End(); //} //var entry = _dbContext.Entry(_EditConsultancyModel); //entry.Property(e => e.Email).IsModified = true; // other changed properties //_dbContext.Entry(_EditConsultancyModel).State = EntityState.Modified; //try //{ // _dbContext.SaveChanges(); //} //catch (Exception e) //{ // Response.Write(e.Message); // Response.End(); //} return(RedirectToAction("Consultancy")); } ModelState.AddModelError("", "Cannot edit, please try again"); return(View(_EditConsultancyModel)); }