Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }