public async Task <IActionResult> AddOrganization(PostOrganizationViewModel model) { if (ModelState.IsValid) { var organization = new Organization() { Name = model.Name, INN = model.INN, OGRN = model.OGRN }; if (model.SelectedUserId != null) { var selectedUserId = (int)model.SelectedUserId; organization.UserId = selectedUserId; var user = await _userData.GetUserData(selectedUserId); organization.User = user; } _organizationService.Add(organization); return(RedirectToAction("Index", "Organization")); } return(View(model)); }
/// <summary> /// Добавить сотрудника /// </summary> /// <param name="addedEmployee">DTO добавляемого сотрудника</param> /// <returns>Сотрудник</returns> public Employee Add(EmployeeDto addedEmployee) { Contract.Argument.IsNotNull(addedEmployee, nameof(addedEmployee)); var userId = _userContextPrtovider.GetUserId(); var contact = _contactService.Add(addedEmployee.Contact); var passport = _passportService.Add(addedEmployee.Passport); var organization = _organizationService.Add(addedEmployee.Organization); var stateRegistration = _stateRegistrationService.Add(addedEmployee.StateRegistration); var newEmployee = _employeeRepository.Create( userId: userId, managerId: addedEmployee.ManagerId, contactId: contact.Id, passportId: passport.Id, invitationId: null, organizationId: organization.Id, stateRegistrationId: stateRegistration.Id, academicDegree: addedEmployee.AcademicDegree, academicRank: addedEmployee.AcademicRank, education: addedEmployee.Education, position: addedEmployee.Position, workPlace: addedEmployee.WorkPlace); return(newEmployee); }
public JsonResult SaveCompany(BaseRequestParam param) { IOrganizationService organzeService = IocMvcFactoryHelper.GetInterface <IOrganizationService>(); Common.Data.JsonData json = organzeService.Add(new Organze() { Name = param.Name, Code = param.Code }); return(Json(json)); }
public ActionResult <Organization> Add(Organization org) { try { return(_service.Add(org) as Organization); } catch (Exception ex) { return(BadRequest(ex)); } }
public ActionResult Create(OrganizationEdit orgEdit) { if (ModelState.IsValid) { var organization = Mapper.Map <Organization>(orgEdit); _organizationService.Add(organization); _organizationService.UpdateEmailDomains(organization, orgEdit.EmailDomainList); return(RedirectToRoute("admin-organizations")); } return(View(orgEdit)); }
public IActionResult Post([FromBody] OrganizationModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var response = organizationService.Add(model); if (!response.Success) { return(BadRequest(response.Message)); } return(Ok(response.ReturnedId)); }
public ActionResult <IEnumerable <OrganizationDTO> > Post([FromBody] OrganizationAddDTO organization) { try { if (!ModelState.IsValid) { throw new Exception("Fail on model validation"); } _app.Add(organization); return(_app.SelectAll()); } catch (Exception ex) { _err.Add(ex, HttpContext.User.Identity.Name); return(BadRequest(ex.Message)); } }
public void AddOrg() { var w = AppEx.Container.GetInstance <IViewModel>("OrgViewModel"); w.Model = new OPC_OrgInfo(); if (w.View.ShowDialog() == true) { IOrganizationService service = GetDataService(); var orgInfo = w.Model as OPC_OrgInfo; orgInfo.ParentID = OrgId; ResultMsg resultMsg = service.Add(orgInfo); if (resultMsg.IsSuccess) { AddSubNode(resultMsg.Data as OPC_OrgInfo); } else { MessageBox.Show("添加失败", "失败", MessageBoxButton.OK, MessageBoxImage.Error); } } }
/// <summary> /// Добавить иностранца /// </summary> /// <param name="addedAlien">DTO добавляемого иностранца</param> public Alien Add(AlienDto addedAlien) { Contract.Argument.IsNotNull(addedAlien, nameof(addedAlien)); var alienContact = _contactService.Add(addedAlien.Contact); var alienPassport = _passportService.Add(addedAlien.Passport); var alienOrganization = _organizationService.Add(addedAlien.Organization); var alienStateRegistration = _stateRegistrationService.Add(addedAlien.StateRegistration); var alien = _alienRepository.Create( invitationId: addedAlien.InvitationId, contactId: alienContact.Id, passportId: alienPassport.Id, organizationId: alienOrganization.Id, stateRegistrationId: alienStateRegistration.Id, position: addedAlien.Position, workPlace: addedAlien.WorkPlace, workAddress: addedAlien.WorkAddress, stayAddress: addedAlien.StayAddress); return(alien); }
public IActionResult Create(RegisterOrganizationForm registerOrganizationForm) { if (ModelState.IsValid) { var organization = _organizationService.Add( registerOrganizationForm.Title, registerOrganizationForm.TitleShort, registerOrganizationForm.ParentOrganizationId, registerOrganizationForm.OrganizationTypeId, registerOrganizationForm.LegalAddress, registerOrganizationForm.PostAddress, registerOrganizationForm.Phone, registerOrganizationForm.Fax, registerOrganizationForm.Email, registerOrganizationForm.Inn, registerOrganizationForm.Kpp, registerOrganizationForm.Ogrn, registerOrganizationForm.Okved, registerOrganizationForm.Okpo, registerOrganizationForm.Okato, registerOrganizationForm.AccountNumber, registerOrganizationForm.BankTitle, registerOrganizationForm.Bik, registerOrganizationForm.BankCorrespAccount ); var uri = Url.Link("OrganizationResource", new { id = organization.Id }); var organizationViewModel = _organizationModelBuilder.BuildNew(organization); return(Created(uri, organizationViewModel)); } else { return(BadRequest()); } }
public AppQuery(ILoggerFactory loggerFactory, IOrganizationService organizationService, IMemberService memberService) { _organizationService = organizationService; _memberService = memberService; var logger = loggerFactory.CreateLogger <AppQuery>(); Field <NonNullGraphType <StringGraphType> >() .Name("setup") .Argument <StringGraphType>("redirectUrl", "The redirect url") .Resolve(context => { var userContext = context.UserContext.As <Context>(); var csrf = Password.Generate(24, 1); var redirectUrl = context.GetArgument <string>("redirectUrl"); userContext.HttpContext.Session.SetString("CSRF", csrf); var request = new OauthLoginRequest(Env.GetString("CLIENT_ID")) { Scopes = { "admin:repo_hook", "repo" }, State = csrf, }; if (redirectUrl != null) { request.RedirectUri = new Uri($"{Env.GetString("APP_URL")}/setupCallback?redirectUrl={redirectUrl}"); } var oAuthLoginUrl = _client.Oauth.GetGitHubLoginUrl(request); return(oAuthLoginUrl); }); Field <NonNullGraphType <ListGraphType <OrganizationPayload> > >() .Name("organizations") .ResolveAsync(async context => { var userContext = context.UserContext.As <Context>(); var token = userContext.HttpContext.Session.GetString("OAuthToken"); if (token == null) { throw new NullReferenceException("OAuthToken is null"); } _client.Credentials = new Credentials(token); var user = await _client.User.Current(); var organizations = _organizationService.GetOrganizations(user.Id); return(organizations); }); Field <NonNullGraphType <BooleanGraphType> >() .Argument <NonNullGraphType <StringGraphType> >("code", "The code for the setup") .Argument <NonNullGraphType <StringGraphType> >("state", "The CSRF protection state") .Name("setupCallback") .ResolveAsync(async context => { var userContext = context.UserContext.As <Context>(); var state = context.GetArgument <string>("state"); var code = context.GetArgument <string>("code"); var expectedState = userContext.HttpContext.Session.GetString("CSRF"); if (state != expectedState) { throw new InvalidOperationException(); } userContext.HttpContext.Session.SetString("CSRF", ""); var request = new OauthTokenRequest(Env.GetString("CLIENT_ID"), Env.GetString("CLIENT_SECRET"), code); var token = await _client.Oauth.CreateAccessToken(request); _client.Credentials = new Credentials(token.AccessToken); userContext.HttpContext.Session.SetString("OAuthToken", token.AccessToken); var organizations = await _client.Organization.GetAllForCurrent(); foreach (var organization in organizations) { var secretKey = Env.GetString("GITHUB_WEBHOOKS_SECRETKEY_DEFAULT"); var gitHubWebHookUrl = Env.GetString("GITHUB_WEBHOOK_URL", Env.GetString("APP_URL")); var hooks = new Dictionary <string, string> { { "url", $"{gitHubWebHookUrl}/api/webhooks/incoming/github" }, { "secret", secretKey }, { "content_type", "json" } }; try { await _client.Repository.Create(organization.Login, new NewRepository(Constants.RepositoryName) { Description = "This repository is auto-generated by onboardor.com and is used for storing the issues. Do not delete.", }); } catch (RepositoryExistsException) { } try { await _client.Repository.Hooks.Create(organization.Login, Constants.RepositoryName, new NewRepositoryHook("web", hooks) { Events = new List <string> { "issues" }, Active = true }); } catch (Exception ex) when(ex is ApiValidationException || ex is NotFoundException) { } var existingOrganization = _organizationService.GetOrganization(organization.Id); Member GetMember(int id, string name, string avatarUrl) { return(new Member { Id = id, Name = name, AvatarUrl = avatarUrl }); } if (existingOrganization == null) { var users = await _client.Organization.Member.GetAll(organization.Login); var newOrganization = new Organization { Id = organization.Id, Name = organization.Login, AvatarUrl = organization.AvatarUrl, }; foreach (var user in users) { var existingMember = _memberService.GetMember(user.Id); newOrganization.Members.Add(new OrganizationMember { Member = existingMember ?? GetMember(user.Id, user.Login, user.AvatarUrl), Organization = newOrganization }); } _organizationService.Add(newOrganization); } else { var users = await _client.Organization.Member.GetAll(existingOrganization.Name); var usersToAdd = users.Where(x => existingOrganization.Members.All(z => z.Member.Id != x.Id)); var membersToRemove = existingOrganization.Members.Where(x => users.All(z => z.Id != x.Member.Id)).Select(x => x.Member); foreach (var userToAdd in usersToAdd) { var member = GetMember(userToAdd.Id, userToAdd.Login, userToAdd.AvatarUrl); member.Organizations = new List <OrganizationMember> { new OrganizationMember { Member = member, Organization = existingOrganization } }; _memberService.Add(member); } foreach (var memberToRemove in membersToRemove) { _memberService.Remove(memberToRemove); } } } var currentUser = await _client.User.Current(); var currentMember = _memberService.GetMember(currentUser.Id); var existingOrganizations = currentMember.Organizations; var organizationsToRemove = existingOrganizations.Where(x => organizations.All(z => z.Id != x.Organization.Id)); foreach (var organizationToRemove in organizationsToRemove) { currentMember.Organizations.Remove(organizationToRemove); } return(true); }); }