public async Task <ApiResponse <bool> > EditBarber(EditBarberDTO model) { ApiResponse <bool> result = new ApiResponse <bool>(); try { Barber BarberToEdit = await unitOfWork.BarbersManager.GetByIdAsync(model.Id); if (BarberToEdit != null) { BarberProfilePhoto barberProfilePhotoToEdit = await unitOfWork.BarberProfilePhotosManager.GetProfilePhotoByBarberId(BarberToEdit.Id); if (barberProfilePhotoToEdit != null) { BarberToEdit.NameAR = model.NameAR; BarberToEdit.NameEN = model.NameEN; BarberToEdit.BarberFingerPrintId = model.BarberFingerprintId; var barberPrintResult = await unitOfWork.BarbersManager.GetAsync(a => a.BarberFingerPrintId == model.BarberFingerprintId); var barber = barberPrintResult.FirstOrDefault(); if (barber != null && model.Id != BarberToEdit.Id) { result.Succeeded = false; result.Errors.Add("Finger Print Id is used ! "); return(result); } else { barberProfilePhotoToEdit.AdminPath = model.BarberProfilePhotoPathAdmin; barberProfilePhotoToEdit.UserPath = model.BarberProfilePhotoPathUser; var barberResult = await unitOfWork.BarbersManager.UpdateAsync(BarberToEdit); var barberProfilePhotoResult = await unitOfWork.BarberProfilePhotosManager.UpdateAsync(barberProfilePhotoToEdit); if (barberResult == true && barberProfilePhotoResult == true) { await unitOfWork.SaveChangesAsync(); result.Succeeded = true; result.Data = true; return(result); } else { result.Succeeded = false; result.Errors.Add("Failed to update barber information ! "); return(result); } } } else { result.Succeeded = false; result.Errors.Add("Unable to find barber profile photo with specified barber id ! "); return(result); } } else { result.Succeeded = false; result.Errors.Add("Unable to find barber with specified id ! "); return(result); } } catch (Exception ex) { result.Succeeded = false; result.Errors.Add(ex.Message); return(result); } }
public async Task <IActionResult> EditBarber(EditBarberDTO model) { return(await AddItemResponseHandler(async() => await service.EditBarber(model))); }