public ActionResult Create() { WorkerTypeEntity workerType = new WorkerTypeEntity(); ViewBag.Profiles = GetProfilesToSelect(new Profiles()); return(PartialView("_Edit", workerType)); }
public ActionResult Edit(int workerTypeId) { WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(workerTypeId); ViewBag.Profiles = GetProfilesToSelect(workerType.ProfileName); return(PartialView("_Edit", workerType)); }
public ActionResult Save(WorkerTypeEntity entity) { try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { ViewBag.Profiles = GetProfilesToSelect(entity.ProfileName); if (ModelState.IsValid) { if (entity.Id > 0) { entity.Status = GenericStatus.ACTIVE; entity.FirmId = CurrentFirm.Id; entity.ExternalFirmId = CurrentFirm.ExternalId; entity.UpdatedBy = CurrentUserId; ValidateModel(entity); WorkerTypeRepository.Instance.UpdateWorkerType(entity); Success("Função atualizada com sucesso."); scope.Complete(); } else { entity.Status = GenericStatus.ACTIVE; entity.FirmId = CurrentFirm.Id; entity.ExternalFirmId = CurrentFirm.ExternalId; entity.UpdatedBy = CurrentUserId; ValidateModel(entity); WorkerTypeRepository.Instance.CreateWorkerType(entity); Success("Função criada com sucesso."); scope.Complete(); } } else { ModelState.AddModelError("", "Alguns campos são obrigatórios para salvar a Função."); return(PartialView("_Edit", entity)); } } } catch (Exception ex) { Logger.LogException(ex); ModelState.AddModelError("", "Ocorreu um erro ao tentar salvar a Função."); return(PartialView("_Edit", entity)); } return(new EmptyResult()); }
public ActionResult Index(string filter) { WorkerTypeEntity currentWorkerType = WorkerTypeRepository.Instance.GetById(CurrentWorker.WorkerTypeId); List <TeamEntity> teams = new List <TeamEntity>(); var teamsRtn = new List <TeamEntity>(); if (currentWorkerType.ProfileName.Equals("ADMINISTRADOR")) { //teams = TeamRepository.Instance.GetAllFromWorker(CurrentWorker.Id, CurrentFirm.Id); List <TeamEntity> teamsToAdd = TeamRepository.Instance.GetAllEntityFromFirm(CurrentFirm.Id); if (teamsToAdd != null) { teams.AddRange(teamsToAdd); } } else if (currentWorkerType.ProfileName.Equals("LIDER")) { //teams = TeamRepository.Instance.GetAllFromWorker(CurrentWorker.Id, CurrentFirm.Id); List <TeamEntity> teamsToAdd = TeamRepository.Instance.GetBySponsor(CurrentFirm.Id); if (teamsToAdd != null) { teams.AddRange(teamsToAdd); } } else { //teams = TeamRepository.Instance.GetAllFromWorker(CurrentWorker.Id, CurrentFirm.Id); } filter = filter.ToLowerInvariant().Trim(); if (!string.IsNullOrWhiteSpace(filter)) { var temp = from n in teams where (n.TeamName.ToLowerInvariant().Trim().Contains(filter)) select n; teamsRtn = temp.ToList(); } else { teamsRtn = teams; } ViewBag.Filter = filter; TeamEntity team = new TeamEntity(); ViewBag.Team = team; return(View(teamsRtn)); }
private AuthStatus LoginGeral(LoginViewModel model) { AuthResult result = new AuthResult(); if (!ModelState.IsValid) { return(AuthStatus.ERROR); } result = AccountHandler.Login(new LoginRequest() { UserName = model.Email, Password = model.Password, TokenMobile = model.tokenMobile, Device = model.tipoDispositivo }); WorkerEntity worker = WorkerRepository.Instance.GetByUserId(result.UserId); if (result.AuthStatus == AuthStatus.OK) { var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Sid, result.UserId.ToString())); claims.Add(new Claim(ClaimTypes.Name, result.UserId.ToString())); claims.Add(new Claim(ClaimTypes.Email, model.Email)); claims.Add(new Claim(ClaimTypes.NameIdentifier, result.UserId.ToString())); claims.Add(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "http://vlast.com.br")); bool isSystemAdmin = false; foreach (var role in result.UserRoles) { if (role == Roles.ADMINISTRATOR) { isSystemAdmin = true; } claims.Add(new Claim(ClaimTypes.Role, role.ToString())); } if (!isSystemAdmin) { //WorkerEntity worker = WorkerRepository.Instance.GetByUserId(result.UserId); WorkerTypeEntity profile = WorkerTypeRepository.Instance.GetById(worker.WorkerTypeId); claims.Add(new Claim(ClaimTypes.Role, profile.ProfileName.ToString())); } var identity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); var ctx = Request.GetOwinContext(); var authenticationManager = ctx.Authentication; authenticationManager.SignIn(identity); return(AuthStatus.OK); } return(AuthStatus.ERROR); }
public ImplantationDTO() { Episode = new EpisodeEngineDTO(); WorkerType = new WorkerTypeEntity(); Worker = new WorkerDTO(); Team = new TeamEngineDTO(); Metric = new MetricEngineDTO(); Goal = new List <GoalEngineDTO>(); }
/// <summary> /// Salva um tipo de funcionario na base de dados /// </summary> /// <param name="newEntity"></param> /// <returns></returns> public WorkerTypeEntity CreateWorkerType(WorkerTypeEntity newEntity) { using (ModelContext context = new ModelContext()) { newEntity.LastUpdate = DateTime.UtcNow; context.WorkerTypes.Attach(newEntity); context.Entry(newEntity).State = System.Data.Entity.EntityState.Added; context.SaveChanges(); } return(newEntity); }
/// <summary> /// Atualiza um tipo de funcionario /// </summary> /// <param name="updatedEntity"></param> /// <returns></returns> public WorkerTypeEntity UpdateWorkerType(WorkerTypeEntity updatedEntity) { using (ModelContext context = new ModelContext()) { updatedEntity.LastUpdate = DateTime.UtcNow; context.WorkerTypes.Attach(updatedEntity); context.Entry(updatedEntity).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } return(updatedEntity); }
public ActionResult Edit(int workerId) { WorkerDTO worker = WorkerRepository.Instance.GetDTOById(workerId); PlayerEngineDTO workerEngine = PlayerEngineService.Instance.GetById(worker.ExternalId); WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(worker.WorkerTypeId); worker.Role = workerType.ProfileName.ToString(); worker.ProfileName = workerType.ProfileName; worker.TotalXp = (int)workerEngine.Xp; ViewBag.Types = GetWorkerTypesToSelect(worker.WorkerTypeId); return(PartialView("_Edit", worker)); }
public ActionResult Remove(int workerTypeId) { List <WorkerEntity> worker = WorkerRepository.Instance.GetAllByWorkerType(workerTypeId); if (worker.Count > 0) { Error("Existem funcionários vinculados a essa função, não é possível excluir nesse caso."); } else { WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(workerTypeId); workerType.Status = GenericStatus.INACTIVE; WorkerTypeRepository.Instance.UpdateWorkerType(workerType); } ViewBag.NumberOfWorkerTypes = WorkerTypeRepository.Instance.GetCountFromFirm(CurrentFirm.ExternalId); return(View("Index")); }
public ActionResult SaveWorkersArchive(HttpPostedFileBase workersArchive) { try { string gameId = CurrentFirm.ExternalId; workersArchive.SaveAs(Path.Combine(Server.MapPath("~/App_Data"), workersArchive.FileName)); string path = Path.Combine(Server.MapPath("~/App_Data"), workersArchive.FileName); var archive = new ExcelQueryFactory(path); var rows = from x in archive.WorksheetRange("A1", "E" + rowsCount, "Workers") select x; foreach (var row in rows) { if (!string.IsNullOrWhiteSpace(row[0].ToString()) && !string.IsNullOrWhiteSpace(row[1].ToString()) && !string.IsNullOrWhiteSpace(row[2].ToString()) && !string.IsNullOrWhiteSpace(row[4].ToString())) { NewRequest request = new NewRequest(); AuthResult result = new AuthResult(); request.Cpf = row[3].ToString(); request.Name = row[0].ToString(); request.Phone = row[2].ToString(); request.Password = "******"; request.Email = row[1].ToString(); request.Username = row[1].ToString(); result = AccountHandler.CreateFirmUser(request, Roles.WORKER); WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetByGameIdAndTypeName(gameId, row[4].ToString()); if (AuthStatus.OK.Equals(result.AuthStatus)) { WorkerEntity worker = new WorkerEntity(); worker.Status = GenericStatus.ACTIVE; worker.FirmId = CurrentFirm.Id; worker.UserId = result.UserId; worker.ExternalFirmId = CurrentFirm.ExternalId; worker.WorkerTypeId = workerType.Id; worker.UpdatedBy = CurrentUserId; ValidateModel(worker); PlayerEngineDTO dto = new PlayerEngineDTO { Level = 1, Xp = 1, Nick = request.Name, Role = workerType.ProfileName.ToString(), GameId = worker.ExternalFirmId, LogoId = worker.LogoId, Cpf = request.Cpf, Email = request.Email, LogoPath = CurrentURL + worker.LogoId, Active = true }; dto = PlayerEngineService.Instance.CreateOrUpdate(dto); worker.ExternalId = dto.Id; worker = WorkerRepository.Instance.CreateWorker(worker); } } } Success("Funcionários criados com sucesso."); } catch (Exception ex) { Logger.LogException(ex); ModelState.AddModelError("", "Ocorreu um erro ao tentar salvar os funcionários via arquivo."); return(PartialView("_WorkersArchive")); } return(new EmptyResult()); }
public ActionResult Save(WorkerDTO entity, HttpPostedFileBase logoUpload) { try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { if (ModelState.IsValid) { ImageEntity imageSaving = new ImageEntity(); if (logoUpload != null && logoUpload.ContentLength > 0) { imageSaving.Status = GenericStatus.ACTIVE; imageSaving.UpdatedBy = CurrentUserId; byte[] cover = null; using (var memoryStream = new MemoryStream()) { logoUpload.InputStream.CopyTo(memoryStream); if (memoryStream.Length > 0) { using (Image image = Bitmap.FromStream(memoryStream)) { logoUpload.InputStream.CopyTo(memoryStream); if (memoryStream.Length > 0) { cover = memoryStream.ToArray(); } } } } //if (entity.LogoId > 0) { //imageSaving.Id = entity.LogoId; } //else { imageSaving = ImageRepository.Instance.CreateImage(imageSaving); } ImageRepository.Instance.SaveOrReplaceLogo(imageSaving.Id, cover); entity.LogoId = imageSaving.Id; } if (entity.IdWorker > 0) { PlayerEngineDTO player = PlayerEngineService.Instance.GetById(entity.ExternalId); WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(entity.WorkerTypeId); UserProfileEntity userProfile = new UserProfileEntity(); userProfile.Id = entity.IdUser; userProfile.Name = entity.Name; userProfile.Email = entity.Email; userProfile.CPF = entity.Cpf.Replace(".", "").Replace("-", ""); userProfile.Phone = entity.Phone; ValidateModel(userProfile); WorkerEntity worker = new WorkerEntity(); worker.Status = GenericStatus.ACTIVE; worker.FirmId = CurrentFirm.Id; worker.ExternalFirmId = CurrentFirm.ExternalId; worker.WorkerTypeId = entity.WorkerTypeId; worker.UserId = entity.IdUser; worker.Id = entity.IdWorker; worker.LogoId = entity.LogoId; worker.UpdatedBy = CurrentUserId; worker.ExternalId = player.Id; ValidateModel(worker); WorkerRepository.Instance.UpdateWorker(worker); UserProfileRepository.Instance.UpdateUserProfile(userProfile); UserAccountEntity acc = AccountRepository.Instance.GetById(entity.IdUser); acc.UserName = userProfile.Email; AccountRepository.Instance.Update(acc); player.Nick = userProfile.Name; player.Role = workerType.ProfileName.ToString(); player.LogoId = worker.LogoId; player.Xp = entity.TotalXp; player.Email = entity.Email; player.Cpf = entity.Cpf; player.LogoPath = CurrentURL + player.LogoId; player.Active = true; player.GameId = CurrentFirm.ExternalId; PlayerEngineService.Instance.CreateOrUpdate(player); Success("Funcionário atualizado com sucesso."); scope.Complete(); } else { WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(entity.WorkerTypeId); NewRequest request = new NewRequest(); AuthResult result = new AuthResult(); request.Cpf = entity.Cpf.Replace("-", "").Replace(".", ""); request.Name = entity.Name; request.Phone = entity.Phone; request.Email = entity.Email; request.Username = entity.Email; request.Password = request.Cpf; result = AccountHandler.CreateFirmUser(request, Roles.WORKER); if (!AuthStatus.OK.Equals(result.AuthStatus)) { Error(AccountHelper.HandleError(result)); ViewBag.Types = GetWorkerTypesToSelect(entity.WorkerTypeId); ModelState.AddModelError("", "Ocorreu um erro ao salvar o funcionário."); return(PartialView("_Edit", entity)); } WorkerEntity worker = new WorkerEntity(); worker.Status = GenericStatus.ACTIVE; worker.FirmId = CurrentFirm.Id; worker.ExternalFirmId = CurrentFirm.ExternalId; worker.UserId = result.UserId; worker.WorkerTypeId = entity.WorkerTypeId; worker.LogoId = entity.LogoId; worker.UpdatedBy = CurrentUserId; ValidateModel(worker); PlayerEngineDTO player = PlayerEngineService.Instance.CreateOrUpdate( new PlayerEngineDTO { GameId = worker.ExternalFirmId, Nick = request.Name, Role = workerType.ProfileName.ToString(), Level = 1, LogoId = worker.LogoId, Cpf = entity.Cpf.Replace(".", "").Replace("-", ""), Email = entity.Email, Xp = 1, LogoPath = CurrentURL + worker.LogoId, Active = true }); worker.ExternalId = player.Id; WorkerRepository.Instance.CreateWorker(worker); Success("Funcionário criado com sucesso."); scope.Complete(); } } else { ViewBag.Types = GetWorkerTypesToSelect(entity.WorkerTypeId); ModelState.AddModelError("", "Alguns campos são obrigatórios para salvar o funcionário."); return(PartialView("_Edit", entity)); } } } catch (Exception ex) { Error("Houve um erro ao salvar funcionário."); Logger.LogException(ex); ModelState.AddModelError("", "Ocorreu um erro ao tentar salvar o funcionário."); ViewBag.Types = GetWorkerTypesToSelect(entity.WorkerTypeId); return(PartialView("_Edit", entity)); } return(new EmptyResult()); }
public ActionResult Search(JQueryDataTableRequest jqueryTableRequest, string episodeId, string teamId, int workerTypeId = 0) { if (jqueryTableRequest != null) { if (Request["episodeId"] != null && !string.IsNullOrWhiteSpace(Request["episodeId"]) && !Request["episodeId"].Equals("undefined")) { episodeId = Request["episodeId"]; } if (Request["teamId"] != null && !string.IsNullOrWhiteSpace(Request["teamId"]) && !Request["teamId"].Equals("undefined")) { teamId = Request["teamId"]; } if (Request["workerTypeId"] != null && !string.IsNullOrWhiteSpace(Request["workerTypeId"]) && !Request["workerTypeId"].Equals("undefined")) { workerTypeId = int.Parse(Request["workerTypeId"]); } string filter = ""; string[] searchTerms = jqueryTableRequest.Search.Split(new string[] { "#;$#" }, StringSplitOptions.None); filter = searchTerms[0]; List <RankingDTO> searchResult = null; if (episodeId != null && !episodeId.Equals("")) { if (teamId != null && !teamId.Equals("")) { TeamEntity team = TeamRepository.Instance.GetByIdExterno(teamId); WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(team.WorkerTypeId); if (workerType.ProfileName.Equals(Profiles.LIDER)) { List <RankingDTO> rankingDTOList = new List <RankingDTO>(); //List<PlayerRunEntity> playerRunList = PlayerRunRepository.Instance.GetByEpisodeAndTeam(episodeId.ToString(), teamId); GetAllDTO runnersDTO = RunEngineService.Instance.GetRunsByTeamId(teamId); // buscar lista de run ao inves da tabela foreach (RunEngineDTO item in runnersDTO.List.run) { RankingDTO dto = new RankingDTO(); WorkerDTO worker = WorkerRepository.Instance.GetDTOById(item.PlayerId); //run .get player ID dto = EngineBIZ.GetGlobalScoreInEpisodeByEpisodeAndPlayer(episodeId.ToString(), worker.ExternalId); dto.LogoId = worker.LogoId; dto.PlayerId = worker.ExternalId; dto.PlayerName = worker.Name; dto.LogoId = worker.LogoId; rankingDTOList.Add(dto); } searchResult = rankingDTOList; } else { List <RankingDTO> rankingDTOList = new List <RankingDTO>(); GetAllDTO runnersDTO = RunEngineService.Instance.GetRunsByTeamId(teamId); foreach (RunEngineDTO item in runnersDTO.List.run) { RankingDTO dto = new RankingDTO(); WorkerDTO worker = WorkerRepository.Instance.GetDTOById(item.PlayerId); dto = EngineBIZ.GetScoreByRun(item.Id); dto.PlayerName = worker.Name; dto.LogoId = worker.LogoId; rankingDTOList.Add(dto); } searchResult = rankingDTOList; } } else { List <EngineTeamDTO> teamsFromEngine = new List <EngineTeamDTO>(); List <TeamEntity> teams = new List <TeamEntity>(); teamsFromEngine.AddRange(EngineBIZ.GetTeamsByEpisode(episodeId.ToString())); if (workerTypeId > 0) { foreach (EngineTeamDTO item in teamsFromEngine) { TeamEntity team = new TeamEntity(); team = TeamRepository.Instance.GetByIdExterno(item.IdExterno); teams.Add(team); } var teamsVar = from n in teams where n.WorkerTypeId == workerTypeId select n; teams = teamsVar.ToList(); } else { foreach (EngineTeamDTO item in teamsFromEngine) { TeamEntity team = new TeamEntity(); team = TeamRepository.Instance.GetByIdExterno(item.IdExterno); teams.Add(team); } } List <RankingDTO> rankingDTOList = new List <RankingDTO>(); foreach (TeamEntity team in teams) { if (team != null) { WorkerTypeEntity workerType = WorkerTypeRepository.Instance.GetById(team.WorkerTypeId); RankingDTO rankingDTO = new RankingDTO(); if (workerType.ProfileName.Equals(Profiles.LIDER)) { WorkerEntity sponsor = WorkerRepository.Instance.GetById(team.SponsorId); rankingDTO = EngineBIZ.GetGlobalScoreInEpisodeByEpisodeAndPlayer(episodeId.ToString(), sponsor.ExternalId); rankingDTO.LogoId = team.LogoId; rankingDTO.PlayerId = team.ExternalId; rankingDTO.PlayerName = team.TeamName; } else { rankingDTO = EngineBIZ.GetTeamScoreByTeamId(team.ExternalId); rankingDTO.LogoId = team.LogoId; } rankingDTOList.Add(rankingDTO); } } searchResult = rankingDTOList; } } else { searchResult = new List <RankingDTO>(); } var searchedQueryList = new List <RankingDTO>(); searchedQueryList = searchResult; if (!string.IsNullOrWhiteSpace(filter)) { filter = filter.ToLowerInvariant().Trim(); var searchedQuery = from n in searchResult where (n.PlayerName != null && n.PlayerName.ToLowerInvariant().Trim().Contains(filter)) orderby n.Score descending select n; searchedQueryList = searchedQuery.ToList(); } else { var searchedQuery = from n in searchResult orderby n.Score descending select n; searchedQueryList = searchedQuery.ToList(); } int index = Int32.Parse(jqueryTableRequest.Order); JQueryDataTableResponse response = null; if (jqueryTableRequest.Type.Equals("asc")) { response = new JQueryDataTableResponse() { Draw = jqueryTableRequest.Draw, RecordsTotal = (jqueryTableRequest.Page + 1) * 10 - (10 - searchedQueryList.Count), RecordsFiltered = (jqueryTableRequest.Page + 1) * 10 + 1, Data = searchedQueryList.Select(r => new string[] { r.PlayerId != null ? r.PlayerId.ToString() : "", r.PlayerName + ";" + r.LogoId.ToString(), r.Score != null ? r.Score.Value.ToString() : 0.ToString() }).ToArray().OrderBy(item => item[index]).ToArray() }; } else { response = new JQueryDataTableResponse() { Draw = jqueryTableRequest.Draw, RecordsTotal = (jqueryTableRequest.Page + 1) * 10 - (10 - searchedQueryList.Count), RecordsFiltered = (jqueryTableRequest.Page + 1) * 10 + 1, Data = searchedQueryList.Select(r => new string[] { r.PlayerId != null ? r.PlayerId.ToString() : "", r.PlayerName + ";" + r.LogoId.ToString(), r.Score != null ? r.Score.Value.ToString() : 0.ToString() }).ToArray().OrderByDescending(item => item[index]).ToArray() }; } return(new DataContractResult() { Data = response, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } return(Json(null, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(FirmDTO entity, HttpPostedFileBase logoUpload) { try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { if (ModelState.IsValid) { ImageEntity imageSaving = new ImageEntity(); if (logoUpload != null && logoUpload.ContentLength > 0) { imageSaving.Status = GenericStatus.ACTIVE; imageSaving.UpdatedBy = CurrentUserId; byte[] cover = null; using (var memoryStream = new MemoryStream()) { logoUpload.InputStream.CopyTo(memoryStream); if (memoryStream.Length > 0) { using (Image image = Bitmap.FromStream(memoryStream)) { logoUpload.InputStream.CopyTo(memoryStream); if (memoryStream.Length > 0) { cover = memoryStream.ToArray(); } } } } if (entity.DataInfo.LogoId > 0) { imageSaving.Id = entity.DataInfo.LogoId; } else { imageSaving = ImageRepository.Instance.CreateImage(imageSaving); } ImageRepository.Instance.SaveOrReplaceLogo(imageSaving.Id, cover); entity.DataInfo.LogoId = imageSaving.Id; } entity.DataInfo.UpdatedBy = CurrentUserId; if (entity.DataInfo.Id > 0) { if (entity.Status == 0) { entity.DataInfo.Status = GenericStatus.INACTIVE; } else { entity.DataInfo.Status = GenericStatus.ACTIVE; } ValidateModel(entity.DataInfo); GameEngineDTO game = new GameEngineDTO { Adress = entity.DataInfo.Adress, City = entity.DataInfo.City, LogoId = entity.DataInfo.LogoId, Name = entity.DataInfo.FirmName, Neighborhood = entity.DataInfo.Neighborhood, Phone = entity.DataInfo.Phone, Id = entity.DataInfo.ExternalId, LogoPath = CurrentURL + entity.DataInfo.LogoId, Description = entity.DataInfo.Cnpj }; try { game = GameEngineService.Instance.CreateOrUpdate(game, "*****@*****.**"); } catch (Exception e) { Logger.LogError(e.Message); } List <WorkerDTO> workers = WorkerRepository.Instance.GetAllFromFirm(entity.DataInfo.Id); if (entity.DataInfo.Status == GenericStatus.ACTIVE) { foreach (WorkerDTO item in workers) { UserAccountEntity acc = AccountRepository.Instance.GetById(item.IdUser); acc.Status = GenericStatus.ACTIVE; AccountRepository.Instance.Update(acc); } } else { foreach (WorkerDTO item in workers) { UserAccountEntity acc = AccountRepository.Instance.GetById(item.IdUser); acc.Status = GenericStatus.INACTIVE; AccountRepository.Instance.Update(acc); } } DataRepository.Instance.UpdateFirm(entity.DataInfo); } else { if (!entity.Password.Equals(entity.PasswordConfirmation)) { Warning("As duas senhas digitadas não conferem."); } NewRequest request = new NewRequest(); AuthResult result = new AuthResult(); request.Cpf = entity.ProfileInfo.CPF; request.Name = entity.ProfileInfo.Name; request.Phone = entity.ProfileInfo.Phone; request.Password = entity.Password; request.Email = entity.ProfileInfo.Email; request.Username = entity.Username; result = AccountHandler.CreateFirmUser(request, Roles.WORKER); if (!AuthStatus.OK.Equals(result.AuthStatus)) { Error(AccountHelper.HandleError(result)); return(View("Create", entity)); } ValidateModel(entity.DataInfo); GameEngineDTO game = new GameEngineDTO { Adress = entity.DataInfo.Adress, City = entity.DataInfo.City, LogoId = entity.DataInfo.LogoId, Name = entity.DataInfo.FirmName, Neighborhood = entity.DataInfo.Neighborhood, Phone = entity.DataInfo.Phone, Id = entity.DataInfo.ExternalId, Description = entity.DataInfo.Cnpj }; game = GameEngineService.Instance.CreateOrUpdate(game, "*****@*****.**"); entity.DataInfo.ExternalId = game.Id; entity.DataInfo.Status = GenericStatus.ACTIVE; entity.DataInfo = DataRepository.Instance.CreateFirm(entity.DataInfo); WorkerEntity worker = new WorkerEntity(); WorkerTypeEntity workerType = new WorkerTypeEntity(); workerType.FirmId = entity.DataInfo.Id; workerType.ProfileName = Profiles.ADMINISTRADOR; workerType.Status = GenericStatus.ACTIVE; workerType.TypeName = "ADMINISTRADOR"; workerType.UpdatedBy = CurrentUserId; workerType = WorkerTypeRepository.Instance.CreateWorkerType(workerType); worker.WorkerTypeId = workerType.Id; worker.UserId = result.UserId; worker.UpdatedBy = CurrentUserId; worker.FirmId = entity.DataInfo.Id; worker.Status = GenericStatus.ACTIVE; worker.LogoId = entity.DataInfo.LogoId; PlayerEngineDTO player = new PlayerEngineDTO { Nick = request.Name, Xp = 1, Level = 1, Role = workerType.TypeName, GameId = game.Id, LogoId = worker.LogoId, Email = entity.ProfileInfo.Email, Cpf = entity.ProfileInfo.CPF, Active = true }; player = PlayerEngineService.Instance.CreateOrUpdate(player, "*****@*****.**"); worker.ExternalId = player.Id; worker.ExternalFirmId = game.Id; worker = WorkerRepository.Instance.CreateWorker(worker); } Success("Empresa salva com sucesso."); scope.Complete(); } else { Warning("Alguns campos são obrigatórios para salvar a empresa."); if (entity.DataInfo.Id > 0) { ViewBag.Status = GetStatusToSelect(entity.DataInfo.Status == GenericStatus.ACTIVE ? 1 : 0); return(View("Edit", entity)); } else { return(View("Create", entity)); } } } } catch (Exception ex) { Logger.LogException(ex); Error("Ocorreu um erro ao tentar salvar a empresa.", ex); if (entity.DataInfo.Id > 0) { ViewBag.Status = GetStatusToSelect(entity.DataInfo.Status == GenericStatus.ACTIVE ? 1 : 0); return(View("Edit", entity)); } else { return(View("Create", entity)); } } return(View("Index")); }