示例#1
0
        /// <summary>
        /// Get a user Career with identifier
        /// </summary>
        /// <param name="id"></param>
        /// <param name="objContex"></param>
        /// <returns></returns>
        public static UserCareerDto GetDto(int id, ModelUnibookContainer objContex)
        {
            UserCareerDto userCareerDto = null;

            try
            {
                UserCareer userCareer = UserCareerDal.Get(id, objContex);
                userCareerDto.UserCareerId             = userCareer.UserCareerId;
                userCareerDto.User                     = new UserDto();
                userCareerDto.User.UserId              = userCareer.User.UserId;
                userCareerDto.User.Email               = userCareer.User.Email;
                userCareerDto.User.Deleted             = userCareer.User.Deleted;
                userCareerDto.User.Password            = new PasswordDto();
                userCareerDto.User.Role                = new RoleDto();
                userCareerDto.User.Role.RoleId         = userCareer.User.Role.RoleId;
                userCareerDto.User.Role.Name           = userCareer.User.Role.Name;
                userCareerDto.User.Role.Deleted        = userCareer.User.Role.Deleted;
                userCareerDto.User.Person              = new PersonDto();
                userCareerDto.Career                   = new CareerDto();
                userCareerDto.Career.CareerId          = userCareer.Career.CareerId;
                userCareerDto.Career.Name              = userCareer.Career.Name;
                userCareerDto.Career.Deleted           = userCareer.Career.Deleted;
                userCareerDto.Career.Faculty           = new FacultyDto();
                userCareerDto.Career.Faculty.FacultyId = userCareer.Career.Faculty.FacultyId;
                userCareer.Career.Faculty.Name         = userCareer.Career.Faculty.Name;
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(userCareerDto);
        }
        public void TestEditUserCareer()
        {
            UserCareer userCareer = UserCareerBrl.Get(1, content);
            User       user       = UserBrl.Get(2, content);

            userCareer.User = user;
            //UserCareerBrl.Update(userCareer, content);
        }
        public void TestCreateUserCareer()
        {
            UserCareer userCareer = new UserCareer();
            User       user       = UserBrl.Get(1, content);
            Career     career     = CareerBrl.Get(1, content);

            userCareer.Career = career;
            userCareer.User   = user;
            //UserCareerBrl.Insertar(userCareer, content);
        }
示例#4
0
 /// <summary>
 /// Update a user Career
 /// </summary>
 /// <param name="userCareer"></param>
 /// <param name="objContex"></param>
 public static void Update(UserCareer userCareer, ModelUnibookContainer objContex)
 {
     try
     {
         objContex.SaveChanges();
     }
     catch (Exception ex)
     {
         System.Diagnostics.Trace.Write(string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
         throw ex;
     }
 }
示例#5
0
        public async Task ShouldBlockUpdateUserCareerInfo()
        {
            var career = UserCareer.Create(
                ObjectId.GenerateNewId()
                ).Data;

            await ContainerFixture.ExecuteDbContextAsync(async dbContext =>
            {
                var value = await dbContext.UserCareerCollection.EstimatedDocumentCountAsync();
                Assert.True(value > 0);
            });
        }
示例#6
0
        /// <summary>
        /// Get a user Career with identifier
        /// </summary>
        /// <param name="id"></param>
        /// <param name="objContex"></param>
        /// <returns></returns>
        public static UserCareer Get(long id, ModelUnibookContainer objContex)
        {
            UserCareer userCareer = null;

            try
            {
                userCareer = UserCareerDal.Get(id, objContex);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(userCareer);
        }
示例#7
0
 /// <summary>
 /// Create a new user Career
 /// </summary>
 /// <param name="userCareer"></param>
 /// <param name="objContex"></param>
 public static void Insert(UserCareerDto userCareerDto, ModelUnibookContainer objContex)
 {
     try
     {
         UserCareer userCareer = new UserCareer();
         userCareer.UserCareerId = userCareerDto.UserCareerId;
         userCareer.User         = UserBrl.Get(userCareerDto.User.UserId, objContex);
         userCareer.Career       = CareerBrl.Get(userCareerDto.Career.CareerId, objContex);
         UserCareerDal.Insert(userCareer, objContex);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
示例#8
0
        /// <summary>
        /// Get user career by id
        /// </summary>
        /// <param name="id">Id user career to search</param>
        /// <returns></returns>
        public static UserCareer Get(long id, ModelUnibookContainer objContex)
        {
            UserCareer userCareerReturn = null;


            try
            {
                userCareerReturn = (from userCareer in objContex.UserCareer
                                    where userCareer.UserCareerId == id
                                    select userCareer).Single <UserCareer>();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.Write(string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                throw ex;
            }

            return(userCareerReturn);
        }
示例#9
0
            public async Task <Result> Handle(Contract request, CancellationToken cancellationToken)
            {
                if (request.CurrentUserRole != "Secretary" && request.CurrentUserRole != "Admin" && request.CurrentUserRole != "Student")
                {
                    return(Result.Fail <Result>("Acesso Negado"));
                }

                if (request.CurrentUserRole == "Student" && request.CurrentUserId != request.UserId)
                {
                    return(Result.Fail <Result>("Acesso Negado"));
                }

                var userId = ObjectId.Parse(request.UserId);

                var userCareer = await _db.UserCareerCollection.AsQueryable()
                                 .Where(x => x.CreatedBy == userId)
                                 .FirstOrDefaultAsync(cancellationToken: cancellationToken);

                if (userCareer == null)
                {
                    userCareer = UserCareer.Create(userId).Data;

                    await _db.UserCareerCollection.InsertOneAsync(
                        userCareer, cancellationToken : cancellationToken
                        );
                }

                userCareer = TransformToUserCareer(userCareer, request.Career);

                await _db.UserCareerCollection.ReplaceOneAsync(
                    t => t.CreatedBy == userCareer.CreatedBy, userCareer,
                    cancellationToken : cancellationToken
                    );

                return(Result.Ok());
            }
示例#10
0
            private async Task SetUserCareerInfo(User user, UserInfoDB userInfo, CancellationToken token)
            {
                bool createNew = false;

                var userCareer = await _db.UserCareerCollection.AsQueryable()
                                 .Where(uc => uc.CreatedBy == user.Id)
                                 .FirstOrDefaultAsync();

                if (userCareer == null)
                {
                    userCareer = UserCareer.Create(user.Id).Data;
                    createNew  = true;
                }

                if (
                    !CellIsEmpty(userInfo.GrauCurso1) ||
                    !CellIsEmpty(userInfo.NomeCurso1) ||
                    !CellIsEmpty(userInfo.Instituicao1) ||
                    !CellIsEmpty(userInfo.AnoInicio1) ||
                    !CellIsEmpty(userInfo.AnoConclusao1) ||
                    !CellIsEmpty(userInfo.PeriodoAnoConclusao1) ||
                    !CellIsEmpty(userInfo.CRAcumulado1) ||
                    !CellIsEmpty(userInfo.SituacaoCurso1) ||
                    !CellIsEmpty(userInfo.Campus1)
                    )
                {
                    var college = new College()
                    {
                        AcademicDegree = userInfo.GrauCurso1,
                        Name           = userInfo.NomeCurso1,
                        Title          = userInfo.Instituicao1,
                        Campus         = userInfo.Campus1,
                        CR             = userInfo.CRAcumulado1,
                        Status         = userInfo.SituacaoCurso1
                    };

                    if (!CellIsEmpty(userInfo.PeriodoAnoConclusao1))
                    {
                        college.CompletePeriod = Int32.Parse(userInfo.PeriodoAnoConclusao1);
                    }

                    if (!CellIsEmpty(userInfo.AnoInicio1))
                    {
                        int year = Int32.Parse(userInfo.AnoInicio1);
                        college.StartDate = new DateTime(year, 1, 1);
                    }

                    if (!CellIsEmpty(userInfo.AnoConclusao1))
                    {
                        int year = Int32.Parse(userInfo.AnoConclusao1);
                        college.EndDate = new DateTime(year, 1, 1);
                    }

                    if (userCareer.Colleges == null)
                    {
                        userCareer.Colleges = new List <College>();
                    }

                    userCareer.Colleges.Add(college);
                }

                if (!CellIsEmpty(userInfo.Ingles))
                {
                    var language = new PerkLanguage()
                    {
                        Names = "Inglês",
                        Level = userInfo.Ingles
                    };

                    if (userCareer.Languages == null)
                    {
                        userCareer.Languages = new List <PerkLanguage>();
                    }

                    userCareer.Languages.Add(language);
                }

                if (!CellIsEmpty(userInfo.Excel))
                {
                    var excel = new Perk()
                    {
                        Name  = "Excel",
                        Level = userInfo.Excel
                    };

                    if (userCareer.Abilities == null)
                    {
                        userCareer.Abilities = new List <Perk>();
                    }

                    userCareer.Abilities.Add(excel);
                }

                if (!CellIsEmpty(userInfo.VBA))
                {
                    var vba = new Perk()
                    {
                        Name  = "VBA",
                        Level = userInfo.VBA
                    };

                    if (userCareer.Abilities == null)
                    {
                        userCareer.Abilities = new List <Perk>();
                    }

                    userCareer.Abilities.Add(vba);
                }

                if (
                    !CellIsEmpty(userInfo.Empresa1) ||
                    !CellIsEmpty(userInfo.CargoEmpresa1) ||
                    !CellIsEmpty(userInfo.DescricaoEmpresa1)
                    )
                {
                    var experience = new ProfessionalExperience()
                    {
                        Title       = userInfo.Empresa1,
                        Role        = userInfo.CargoEmpresa1,
                        Description = userInfo.DescricaoEmpresa1
                    };

                    if (userCareer.ProfessionalExperiences == null)
                    {
                        userCareer.ProfessionalExperiences = new List <ProfessionalExperience>();
                    }

                    userCareer.ProfessionalExperiences.Add(experience);
                }

                if (!CellIsEmpty(userInfo.ObjetivoProfissionalCurto) && String.IsNullOrEmpty(userCareer.ShortDateObjectives))
                {
                    userCareer.ShortDateObjectives = userInfo.ObjetivoProfissionalCurto;
                }

                if (!CellIsEmpty(userInfo.ObjetivoProfissionalLongo) && String.IsNullOrEmpty(userCareer.LongDateObjectives))
                {
                    userCareer.LongDateObjectives = userInfo.ObjetivoProfissionalLongo;
                }

                if (createNew)
                {
                    await _db.UserCareerCollection.InsertOneAsync(
                        userCareer, cancellationToken : token
                        );
                }
                else
                {
                    await _db.UserCareerCollection.ReplaceOneAsync(
                        u => u.CreatedBy == user.Id, userCareer,
                        cancellationToken : token
                        );
                }
            }
示例#11
0
            private UserCareer TransformToUserCareer(UserCareer dbCareer, UserCareerItem career)
            {
                dbCareer.ProfessionalExperience  = career.ProfessionalExperience;
                dbCareer.ProfessionalExperiences = new List <ProfessionalExperience>();
                dbCareer.TravelAvailability      = career.TravelAvailability;
                dbCareer.ShortDateObjectives     = career.ShortDateObjectives;
                dbCareer.LongDateObjectives      = career.LongDateObjectives;

                dbCareer.Colleges     = new List <College>();
                dbCareer.Rewards      = new List <Reward>();
                dbCareer.Languages    = new List <PerkLanguage>();
                dbCareer.Abilities    = new List <Perk>();
                dbCareer.Certificates = new List <Certificate>();
                dbCareer.Skills       = career.Skills;

                foreach (var professionalExperience in career.ProfessionalExperiences)
                {
                    dbCareer.ProfessionalExperiences.Add(new ProfessionalExperience
                    {
                        Title       = professionalExperience.Title,
                        Role        = professionalExperience.Role,
                        Description = professionalExperience.Description,
                        StartDate   = professionalExperience.StartDate,
                        EndDate     = professionalExperience.EndDate
                    });
                }

                foreach (var college in career.Colleges)
                {
                    var instituteId = string.IsNullOrEmpty(college.InstituteId) ?
                                      ObjectId.Empty : ObjectId.Parse(college.InstituteId);

                    dbCareer.Colleges.Add(new College
                    {
                        InstituteId    = instituteId,
                        Title          = college.Title,
                        Campus         = college.Campus,
                        Name           = college.Name,
                        AcademicDegree = college.AcademicDegree,
                        Status         = college.Status,
                        CompletePeriod = college.CompletePeriod,
                        StartDate      = college.StartDate,
                        EndDate        = college.EndDate,
                        CR             = college.CR
                    });
                }

                foreach (var reward in career.Rewards)
                {
                    dbCareer.Rewards.Add(new Reward
                    {
                        Title = reward.Title,
                        Name  = reward.Name,
                        Link  = reward.Link,
                        Date  = reward.Date
                    });
                }

                foreach (var certificate in career.Certificates)
                {
                    dbCareer.Certificates.Add(new Certificate
                    {
                        Title = certificate.Title,
                        Link  = certificate.Link
                    });
                }

                foreach (var languages in career.FixedLanguages)
                {
                    if (!string.IsNullOrEmpty(languages.Languages) && !string.IsNullOrEmpty(languages.Level))
                    {
                        dbCareer.Languages.Add(new PerkLanguage
                        {
                            Names     = languages.Names,
                            Level     = languages.Level,
                            Languages = languages.Languages
                        });
                    }
                }

                foreach (var ability in career.FixedAbilities)
                {
                    if (ability.HasLevel.HasValue && ability.HasLevel.Value)
                    {
                        dbCareer.Abilities.Add(new Perk
                        {
                            Name  = ability.Name,
                            Level = ability.Level
                        });
                    }
                }

                foreach (var ability in career.Abilities)
                {
                    dbCareer.Abilities.Add(new Perk
                    {
                        Name  = ability.Name,
                        Level = ability.Level
                    });
                }

                return(dbCareer);
            }