public ActionResult Edit(Guid? id)
        {
            //var model = new ServiceProviderDTO();
            var model = new ServiceProviderViewModel();
            if(id.HasValue)
            {
                var p = _serviceProviderRepository.GetById(id.Value);
                if (p != null)
                {
                    model.MasterId = id.Value;
                    model.AccountName = p.AccountName;
                    model.AccountNumber = p.AccountNumber;
                    model.BankId = p.Bank.Id;
                    model.BankBranchId = p.BankBranch.Id;
                    model.Code = p.Code;
                    model.Description = p.Description;
                    model.GenderId = (int)p.Gender;
                    model.IdNo = p.IdNo;
                    model.MobileNumber = p.MobileNumber;
                    model.Name = p.Name;
                    model.PinNo = p.PinNo;
                    LoadBranches(model.BankId);
                }
               
               // model = _masterDataToDtoMapping.Map(p);
            }
            DropDowns();
            if (model.MasterId == Guid.Empty)
                model.MasterId = Guid.NewGuid();

            return View(model);
        }
        private ServiceProvider Map(ServiceProviderViewModel model)
        {
            return new ServiceProvider(model.MasterId)
                {
                    Code = model.Code,
                    AccountName = model.AccountName,
                    AccountNumber=model.AccountNumber,
                    Name = model.Name,
                    IdNo = model.IdNo,
                    PinNo = model.PinNo,
                    Gender = (Gender)model.GenderId,
                    Bank = _bankRepository.GetById(model.BankId),
                    BankBranch = _bankBranchRepository.GetById(model.BankBranchId),
                    Description = model.Description,
                    MobileNumber = model.MobileNumber
                };
          

        }
 public ActionResult Edit(ServiceProviderViewModel model)
 {
     try
     {
         var entity = Map(model);// _dtoToEntityMapping.Map(model);
         
      var vri= _serviceProviderRepository.Validate(entity);
         if(vri.IsValid)
         {
             _serviceProviderRepository.Save(entity, true);
         }
         else
         {
             int i = 1;
             foreach (ValidationResult error in vri.Results)
             {
                 TempData["msg"] = string.Format("\n({0}).{1}",i,error.ErrorMessage);
                 ModelState.AddModelError("", error.ErrorMessage);
                 i++;
             }
             LoadBranches(model.BankId);
             DropDowns();
             return View(model);
         }
         TempData["msg"] = "Service Provider Added successfully";
         return RedirectToAction("Index");
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
         DropDowns();
         return View(model);
     }
 }