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}"));
            }
        }
Example #2
0
        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));
        }