示例#1
0
        public ServiceResult <long> CreateNewDonator(CreateNewDonatorDTO model)
        {
            string errorMessage = string.Empty;
            EnumServiceResultType serviceResultType = EnumServiceResultType.Unspecified;
            long result = -1;

            try
            {
                var anyExistingUser = _userRepository.Entities.Any(p => p.Username == model.Username && p.Email == model.Email && p.IsActive);

                if (anyExistingUser)
                {
                    throw new Exception("Kullanıcı bilgisi mevcut.");
                }

                var newUser = new Contracts.Entities.EF.User
                {
                    IsActive   = true,
                    Password   = model.Password,
                    Username   = model.Username,
                    UserTypeId = model.UserTypeId,
                    Email      = model.Email
                };

                var newDonator = new Donator
                {
                    FirstName    = model.FirstName,
                    LastName     = model.LastName,
                    BirthDate    = model.BirthDate,
                    OccupationId = model.OccupationId,
                    PhoneNumber  = model.PhoneNum,
                    WorkPlace    = model.WorkPlace,
                };

                newUser.Donator.Add(newDonator);

                var userResult = _userRepository.Add(newUser);
                _unitOfWork.SaveChanges();

                result            = userResult.Id;
                serviceResultType = EnumServiceResultType.Success;
            }
            catch (Exception ex)
            {
                errorMessage      = ex.Message;
                serviceResultType = EnumServiceResultType.Error;
            }
            return(new ServiceResult <long> {
                ErrorMessage = errorMessage, Result = result, ServiceResultType = serviceResultType
            });
        }
示例#2
0
        public ServiceResult <long> CreateNewVolunteer(CreateNewVolunteerDTO model)
        {
            string errorMessage = string.Empty;
            EnumServiceResultType serviceResultType = EnumServiceResultType.Unspecified;
            long result = -1;

            try
            {
                var anyExistingUser = _userRepository.Entities.Any(p => p.Username == model.Username && p.Email == model.Email && p.IsActive);

                if (anyExistingUser)
                {
                    throw new Exception("Kullanıcı bilgisi mevcut.");
                }

                var newUser = new Contracts.Entities.EF.User
                {
                    IsActive   = true,
                    Password   = model.Password,
                    Username   = model.Username,
                    UserTypeId = model.UserTypeId,
                    Email      = model.Email
                };

                var newVolunteer = new Volunteer
                {
                    BirthDate    = model.BirthDate,
                    Class        = model.Class,
                    DepartmentId = model.DepartmentId,
                    FirstName    = model.FirstName,
                    IsStudent    = model.IsStudent,
                    LastName     = model.LastName,
                    OccupationId = model.OccupationId,
                    PhoneNumber  = model.PhoneNum,
                    UniversityId = model.UniversityId
                };

                var newInterest1 = new InterestVolunteer
                {
                    ActivityId = model.Interest1Id
                };

                var newInterest2 = new InterestVolunteer
                {
                    ActivityId = model.Interest2Id
                };

                var newInterest3 = new InterestVolunteer
                {
                    ActivityId = model.Interest3Id
                };

                newUser.Volunteer.Add(newVolunteer);
                newVolunteer.InterestVolunteer.Add(newInterest1);
                newVolunteer.InterestVolunteer.Add(newInterest2);
                newVolunteer.InterestVolunteer.Add(newInterest3);

                var userResult = _userRepository.Add(newUser);
                _unitOfWork.SaveChanges();

                result            = userResult.Id;
                serviceResultType = EnumServiceResultType.Success;
            }
            catch (Exception ex)
            {
                errorMessage      = ex.Message;
                serviceResultType = EnumServiceResultType.Error;
            }
            return(new ServiceResult <long> {
                ErrorMessage = errorMessage, Result = result, ServiceResultType = serviceResultType
            });
        }