public async Task <bool> UpdateEmployee(RegisterPOCO employee) { var examinationOfDoctor = _examinationRepository.Find(examination => examination.DoctorId.Equals(employee.Email)).ToList(); foreach (Examination examination in examinationOfDoctor) { if (examination.Status.Equals(ExaminationStatus.Accepted)) { return(false); } } Employee employeeToUpdate = _employeeRepository.Find(emp => emp.Email.Equals(employee.Email)).First(); employeeToUpdate.FirstName = employee.FirstName; employeeToUpdate.LastName = employee.LastName; employeeToUpdate.State = employee.State; employeeToUpdate.Address = employee.Address; employeeToUpdate.City = employee.City; var result = await _employeeRepository.Update(employeeToUpdate); if (result) { return(true); } return(false); }
public async Task <bool> RegisterUser(RegisterPOCO model) { var newUser = new User() { Email = model.Email, UserName = (model.Email.Split('@')).First(), EmailConfirmed = true }; var result = await _userManager.CreateAsync(newUser, model.Password); newUser.UserId = Guid.Parse(newUser.Id); if (result.Succeeded) { await _userManager.AddToRoleAsync(newUser, model.UserRole); if (await _userManager.IsInRoleAsync(newUser, "Client")) { var newClient = new Client() { FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, City = model.City, ClientId = newUser.UserId, Jmbg = model.Jmbg, State = model.State }; newUser.EmailConfirmed = false; await _clientRepository.Create(newClient); return(true); } else { var newAgent = new Agent() { FirstName = model.FirstName, LastName = model.LastName, AgentId = newUser.UserId, Address = model.Address, City = model.City, State = model.State }; try { //await _clinicRepository.Update(clinicToAddEmployee); await _agentRepository.Create(newAgent); return(true); } catch (Exception e) { throw e; } } } return(false); }
public async Task <bool> RegisterUser(RegisterPOCO model) { var newUser = new User() { Email = model.Email, UserName = (model.Email.Split('@')).First(), EmailConfirmed = true }; if (!IsJmbgUnique(model.Jmbg)) { return(false); } var result = await _userManager.CreateAsync(newUser, model.Password); newUser.UserId = Guid.Parse(newUser.Id); if (result.Succeeded) { await _userManager.AddToRoleAsync(newUser, model.UserRole); if (await _userManager.IsInRoleAsync(newUser, "Patient")) { var newPatient = new Patient() { FirstName = model.FirstName, LastName = model.LastName, Jmbg = model.Jmbg, Email = model.Email, PatientId = newUser.UserId, Address = model.Address, City = model.City, State = model.State }; newUser.EmailConfirmed = false; await _patientRepository.Create(newPatient); return(true); } else { var newEmployee = new Employee() { FirstName = model.FirstName, LastName = model.LastName, Jmbg = model.Jmbg, Email = model.Email, EmployeeId = newUser.UserId, Specialization = model.Specialization, Address = model.Address, City = model.City, State = model.State, ClinicId = Guid.Parse(model.ClinicId), Am = model.Am }; try { if (!await _userManager.IsInRoleAsync(newUser, "ClinicCenterAdmin")) { var clinicToAddEmployee = _clinicRepository.Find(clinic => clinic.ClinicId.ToString().Equals(model.ClinicId.ToString())).FirstOrDefault(); if (clinicToAddEmployee.Employees == null) { clinicToAddEmployee.Employees = new List <Employee>(); } clinicToAddEmployee.Employees.Add(newEmployee); if (await _userManager.IsInRoleAsync(newUser, "Doctor")) { var newPrice = new Price() { ExaminationType = newEmployee.Specialization, ClinicId = newEmployee.ClinicId }; if (!PriceExists(newPrice)) { await _priceListRepository.Create(newPrice); } } } //await _clinicRepository.Update(clinicToAddEmployee); await _employeeRepository.Create(newEmployee); return(true); } catch (Exception e) { throw e; } } } return(false); }