public IActionResult Edit(ProviderRequest model) { Response res = new Response(); try { using (JobsPhonesCTX db = new JobsPhonesCTX()) { Proveedor proveedor = db.Proveedor.Find(model.Id); proveedor.NombreProveedor = model.NombreProveedor; proveedor.NitProveedor = model.NitProveedor; proveedor.DireccionProveedor = model.DireccionProveedor; proveedor.TelefonoProveedor = model.TelefonoProveedor; proveedor.UrlProveedor = model.UrlProveedor; db.Entry(proveedor).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); res.Exito = 1; } } catch (Exception e) { res.Message = e.Message; } return(Ok(res)); }
public ActionResult ObtenerProveedores() { var datos = new List <ProviderRequest>(); bool resultado = true; try { using (db) { foreach (var item in db.SP_LISTAR_PROVEEDORES()) { ProviderRequest proveedorItem = new ProviderRequest(); proveedorItem.NombreCompleto = item.NombreCompleto; proveedorItem.Cod_Pers = item.Cod_Pers; datos.Add(proveedorItem); } } } catch (Exception) { resultado = false; } return(Json(new { success = resultado, dato = datos }, JsonRequestBehavior.AllowGet)); }
public IHttpActionResult Post(ProviderRequest Provider) { var result = ProviderService.CreateProvider(Provider); return(Created <Entidad>("", new Entidad { Id = result.Id })); }
public IHttpActionResult Put(int id, ProviderRequest Provider) { var originalProvider = ProviderService.GetById(id); var ret = ProviderService.UpdateProvider(originalProvider, Provider); return(Ok()); }
public Provider CreateProvider(ProviderRequest Provider) { var entityToInsert = new Provider() { User = this.UserRepository.GetById(Provider.UserId), Item = Provider.Item, Address = Provider.Address }; ProviderRepository.Insert(entityToInsert); return(entityToInsert); }
public ActionResult Edit(int cod_prove) { ProviderRequest model = new ProviderRequest(); using (db) { var prove = db.proveedor.Find(cod_prove); model.Cod_Pers = prove.Cod_Pers_Fk; model.Locacion = prove.Locacion; model.Enlace = prove.Enlace; } return(View(model)); }
public IActionResult UpdateProvider([FromRoute] int id, [FromBody] ProviderRequest request) { var provider = _providerManager.FindProvider(id); if (provider == null) { return(NotFound("There is no object with such ID in a DataBase. Try another one.")); } var response = _mapper.Map(request, provider); _providerManager.SaveChanges(); return(Created("", response)); }
public ActionResult Edit(ProviderRequest model) { if (ModelState.IsValid) { using (db) { db.SP_Prove_Editar(model.Cod_Pers, model.Locacion, model.Enlace, model.Activo, model.Cod_Prove); db.SaveChanges(); return(RedirectToAction("Index")); } } return(View(model)); }
public IActionResult Add(ProviderRequest model) { Response res = new Response(); try { using (JobsPhonesCTX db = new JobsPhonesCTX()) { var valNombre = db.Proveedor.Where(p => p.NombreProveedor == model.NombreProveedor.Trim()).FirstOrDefault(); if (valNombre == null) { Proveedor proveedor = new Proveedor(); proveedor.NombreProveedor = model.NombreProveedor; proveedor.NitProveedor = model.NitProveedor; proveedor.DireccionProveedor = model.DireccionProveedor; proveedor.TelefonoProveedor = model.TelefonoProveedor; proveedor.UrlProveedor = model.UrlProveedor; proveedor.IdEstadoProveedor = 1; db.Proveedor.Add(proveedor); db.SaveChanges(); res.Exito = 1; } else if (valNombre.IdEstadoProveedor == 3) { Proveedor proveedor = db.Proveedor.Find(valNombre.Id); proveedor.NitProveedor = model.NitProveedor; proveedor.DireccionProveedor = model.DireccionProveedor; proveedor.TelefonoProveedor = model.TelefonoProveedor; proveedor.UrlProveedor = model.UrlProveedor; proveedor.IdEstadoProveedor = 1; db.Entry(proveedor).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); res.Exito = 1; } else { res.Message = "Proveedor existente"; } } } catch (Exception e) { res.Message = e.Message; } return(Ok(res)); }
public IActionResult CreateProvider([FromBody] ProviderRequest request) { if (!_providerManager.DoesCountryIdExist(request.OriginCountryId)) { return(BadRequest("There is no such country ID in a Database!")); } var provider = _mapper.Map <ProviderRequest, Provider>(request); _providerManager.Add(provider); _providerManager.SaveChanges(); var response = _mapper.Map <ProviderResponse>(provider); return(CreatedAtAction(nameof(GetProviderById), new { id = provider.Id }, response)); }
public async Task <ProviderResult> CreateIntegrationAsync(ProviderRequest request) { var requestData = (CreateStravaIntegrationRequest)request.Data; TokenResponse tokenResponse = await _stravaClient.AuthenticateAsync(requestData.Code); return(new ProviderResult { Provider = Provider, ProviderUserId = tokenResponse.Athlete.Id.ToString(), Data = new StravaIntegrationData { AccessToken = tokenResponse.AccessToken, AccessTokenExpiresUtc = DateTimeOffset.FromUnixTimeSeconds(tokenResponse.ExpiresAt).UtcDateTime, RefreshToken = tokenResponse.RefreshToken } }); }
public ActionResult CreateUpdateProvider(ProviderViewModel provider) { var nuser = new User(); try { nuser = Mapper.Map <User>(provider.User); nuser.Surname = provider.User.Name; if (provider.Id == 0) { nuser = this.UserService.CreateUser(nuser); var nprovider = new ProviderRequest() { UserId = nuser.Id, Item = provider.Item, Address = Mapper.Map <Address>(provider.Address) }; this.ProviderService.CreateProvider(nprovider); } else { this.UserService.UpdateUser(nuser); var nprovider = Mapper.Map <Provider>(provider); this.ProviderService.UpdateProvider( new ProviderRequest() { Address = nprovider.Address, Id = nprovider.Id, Item = nprovider.Item, UserId = nprovider.User.Id }); } return(Redirect("/Providers/Index")); } catch (Exception ex) { return(View("../Shared/Error")); } }
public async Task <ProviderResult> CreateIntegrationAsync(ProviderRequest request) { var authCode = (CreateFitbitIntegrationRequest)request.Data; TokenResponse tokenResponse = await _fitbitAuthClient.AuthenticateAsync(authCode.Code, authCode.RedirectUri); if (tokenResponse.IsError) { throw new Exception(tokenResponse.Error); // TODO: if invalid code - return 4XX else throw exception } await _fitbitClient.AddSubscriptionAsync(subscriptionId : request.UserId, accessToken : tokenResponse.AccessToken); return(new ProviderResult { Provider = Provider, ProviderUserId = request.UserId, Data = new FitbitIntegrationData { AccessToken = tokenResponse.AccessToken, AccessTokenExpiresUtc = _dateTimeProvider.UtcNow.AddSeconds(tokenResponse.ExpiresIn), RefreshToken = tokenResponse.RefreshToken } }); }
public bool CreateProvider(ProviderRequest Provider) { return(IntegrationService.RestCallNoReturn(ConfigurationManager.AppSettings["ApiCoreUrl"], ApiCore.CreateProvider, RestMethod.Post, null, Provider)); }
public ActionResult CreateUpdateUser(UserViewModel user) { var nuser = new User(); try { nuser = Mapper.Map <User>(user); if (user.Id == 0) { nuser = this.UserService.CreateUser(nuser); if (user.IsOwner) { var owner = new OwnerRequest() { UserId = nuser.Id, FunctionalUnitIds = user.Units != null ? user.Units : new List <int>(), PaymentTypeId = user.PaymentTypeId }; this.OwnerService.CreateOwner(owner); } if (user.IsProvider) { var provider = new ProviderRequest() { UserId = nuser.Id }; this.ProviderService.CreateProvider(provider); } if (user.IsRenter) { var renter = new RenterRequest() { UserId = nuser.Id, PaymentTypeId = user.PaymentTypeId, FunctionalUnitId = user.FunctionalUnitId }; this.RenterService.CreateRenter(renter); } if (user.IsWorker) { var worker = new WorkerRequest() { UserId = nuser.Id, AdministrationId = user.AdministrationId }; this.WorkerService.CreateWorker(worker); } } else { this.UserService.UpdateUser(nuser); var owners = this.OwnerService.GetAll(); var ownersUsersIds = owners.Select(x => x.User.Id).ToList(); var renters = this.RenterService.GetAll(); var rentersUsersIds = renters.Select(x => x.User.Id).ToList(); var workers = this.WorkerService.GetAll(); var workersUsersIds = workers.Select(x => x.User.Id).ToList(); if (user.IsOwner) { var owner = new OwnerRequest() { UserId = nuser.Id, PaymentTypeId = user.PaymentTypeId, FunctionalUnitIds = user.Units }; if (ownersUsersIds.Contains(user.Id)) { var oldOwner = owners.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); owner.Id = oldOwner.Id; this.OwnerService.UpdateOwner(owner); } else { this.OwnerService.CreateOwner(owner); } } else { if (ownersUsersIds.Contains(user.Id)) { var owner = owners.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); this.OwnerService.DeleteOwner(owner.Id); } } if (user.IsRenter) { var renter = new RenterRequest() { UserId = nuser.Id, PaymentTypeId = user.PaymentTypeId, FunctionalUnitId = user.FunctionalUnitId }; if (rentersUsersIds.Contains(user.Id)) { var oldRenter = renters.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); renter.Id = oldRenter.Id; this.RenterService.UpdateRenter(renter); } else { this.RenterService.CreateRenter(renter); } } else { if (rentersUsersIds.Contains(user.Id)) { var renter = renters.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); this.RenterService.DeleteRenter(renter.Id); } } if (user.IsWorker) { var worker = new WorkerRequest() { UserId = nuser.Id }; if (workersUsersIds.Contains(user.Id)) { var oldWorker = workers.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); worker.Id = oldWorker.Id; this.WorkerService.UpdateWorker(worker); } else { this.WorkerService.CreateWorker(worker); } } else { if (rentersUsersIds.Contains(user.Id)) { var renter = renters.Where(x => x.User.Id.Equals(user.Id)).FirstOrDefault(); this.RenterService.DeleteRenter(renter.Id); } } } if (!string.IsNullOrEmpty(user.CallbackUrl)) { return(Redirect(user.CallbackUrl)); } else { return(Redirect("/Users/Index")); } } catch (Exception ex) { return(View("../Shared/Error")); } }
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ProviderContext.Create); app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create); app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create); // The app also uses a RoleManager app.CreatePerOwinContext <ApplicationRoleManager>(ApplicationRoleManager.Create); // Enable the application to use a cookie to store information for the signed in user // and to use a cookie to temporarily store information about a user logging in with a third party login provider // Configure the sign in cookie app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, CookieName = ".Provider.AspNet.Cookies", LoginPath = new PathString("/Account/Login"), Provider = new CookieAuthenticationProvider { // Enables the application to validate the security stamp when the user logs in. // This is a security feature which is used when you change a password or add an external login to your account. OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>( validateInterval: TimeSpan.FromMinutes(30), regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)) } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process. app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5)); // Enables the application to remember the second login verification factor such as phone or email. // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from. // This is similar to the RememberMe option when you log in. app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie); // Uncomment the following lines to enable logging in with third party login providers //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); //app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions() //{ // ClientId = "", // ClientSecret = "" //}); app.UseLtiAuthentication(new LtiAuthenticationOptions { Provider = new LtiAuthenticationProvider { // Look up the secret for the consumer OnAuthenticate = async context => { // Make sure the request is not being replayed var timeout = TimeSpan.FromMinutes(5); var oauthTimestampAbsolute = OAuthConstants.Epoch.AddSeconds(context.LtiRequest.Timestamp); if (DateTime.UtcNow - oauthTimestampAbsolute > timeout) { throw new LtiException("Expired " + OAuthConstants.TimestampParameter); } var db = context.OwinContext.Get <ProviderContext>(); var consumer = await db.Consumers.SingleOrDefaultAsync(c => c.Key == context.LtiRequest.ConsumerKey); if (consumer == null) { throw new LtiException("Invalid " + OAuthConstants.ConsumerKeyParameter); } var signature = context.LtiRequest.GenerateSignature(consumer.Secret); if (!signature.Equals(context.LtiRequest.Signature)) { throw new LtiException("Invalid " + OAuthConstants.SignatureParameter); } // If we made it this far the request is valid }, // Sign in using application authentication. This handler will create a new application // user if no matching application user is found. OnAuthenticated = async context => { var db = context.OwinContext.Get <ProviderContext>(); var consumer = await db.Consumers.SingleOrDefaultAsync(c => c.Key.Equals(context.LtiRequest.ConsumerKey)); if (consumer == null) { return; } // Record the request for logging purposes and as reference for outcomes var providerRequest = new ProviderRequest { Received = DateTime.UtcNow, LtiRequest = JsonConvert.SerializeObject(context.LtiRequest, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }) }; db.ProviderRequests.Add(providerRequest); db.SaveChanges(); // Add the requst ID as a claim var claims = new List <Claim> { new Claim("ProviderRequestId", providerRequest.ProviderRequestId.ToString(CultureInfo.InvariantCulture)) }; // Outcomes can live a long time to give the teacher enough // time to grade the assignment. So they are stored in a separate table. var lisOutcomeServiceUrl = ((IOutcomesManagementRequest)context.LtiRequest).LisOutcomeServiceUrl; var lisResultSourcedid = ((IOutcomesManagementRequest)context.LtiRequest).LisResultSourcedId; if (!string.IsNullOrWhiteSpace(lisOutcomeServiceUrl) && !string.IsNullOrWhiteSpace(lisResultSourcedid)) { var outcome = await db.Outcomes.SingleOrDefaultAsync(o => o.ConsumerId == consumer.ConsumerId && o.LisResultSourcedId == lisResultSourcedid); if (outcome == null) { outcome = new Outcome { ConsumerId = consumer.ConsumerId, LisResultSourcedId = lisResultSourcedid }; db.Outcomes.Add(outcome); await db.SaveChangesAsync(); // Assign OutcomeId; } outcome.ContextTitle = context.LtiRequest.ContextTitle; outcome.ServiceUrl = lisOutcomeServiceUrl; await db.SaveChangesAsync(); // Add the outcome ID as a claim claims.Add(new Claim("OutcomeId", outcome.OutcomeId.ToString(CultureInfo.InvariantCulture))); } // Sign in await SecurityHandler.OnAuthenticated <ApplicationUserManager, ApplicationUser>( context, claims); }, // Generate a username using the LisPersonEmailPrimary from the LTI request OnGenerateUserName = async context => await SecurityHandler.OnGenerateUserName(context) }, ChallengeResultUrl = new PathString("/Manage/ToolConsumerLogins"), SignInAsAuthenticationType = DefaultAuthenticationTypes.ApplicationCookie }); }
public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ProviderContext.Create); app.CreatePerOwinContext <LtiUserManager>(LtiUserManager.Create); app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create); // The app also uses a RoleManager app.CreatePerOwinContext <ApplicationRoleManager>(ApplicationRoleManager.Create); app.UseLtiAuthentication(new LtiAuthenticationOptions { Provider = new LtiAuthenticationProvider { // Look up the secret for the consumer OnAuthenticate = async context => { // Make sure the request is not being replayed var timeout = TimeSpan.FromMinutes(5); var oauthTimestampAbsolute = OAuthConstants.Epoch.AddSeconds(context.LtiRequest.Timestamp); if (DateTime.UtcNow - oauthTimestampAbsolute > timeout) { throw new LtiException("Expired " + OAuthConstants.TimestampParameter); } var db = context.OwinContext.Get <ProviderContext>(); var consumer = await db.Consumers.SingleOrDefaultAsync(c => c.Key == context.LtiRequest.ConsumerKey); if (consumer == null) { throw new LtiException("Invalid " + OAuthConstants.ConsumerKeyParameter); } var signature = context.LtiRequest.GenerateSignature(consumer.Secret); if (!signature.Equals(context.LtiRequest.Signature)) { throw new LtiException("Invalid " + OAuthConstants.SignatureParameter); } // If we made it this far the request is valid }, // Sign in using application authentication. This handler will create a new application // user if no matching application user is found. OnAuthenticated = async context => { var db = context.OwinContext.Get <ProviderContext>(); var consumer = await db.Consumers.SingleOrDefaultAsync(c => c.Key.Equals(context.LtiRequest.ConsumerKey)); if (consumer == null) { return; } // Record the request for logging purposes and as reference for outcomes var providerRequest = new ProviderRequest { Received = DateTime.UtcNow, LtiRequest = JsonConvert.SerializeObject(context.LtiRequest, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }) }; db.ProviderRequests.Add(providerRequest); db.SaveChanges(); // Add the requst ID as a claim var claims = new List <Claim> { new Claim("ProviderRequestId", providerRequest.ProviderRequestId.ToString(CultureInfo.InvariantCulture)) }; // Outcomes can live a long time to give the teacher enough // time to grade the assignment. So they are stored in a separate table. var lisOutcomeServiceUrl = ((IOutcomesManagementRequest)context.LtiRequest).LisOutcomeServiceUrl; var lisResultSourcedid = ((IOutcomesManagementRequest)context.LtiRequest).LisResultSourcedId; if (!string.IsNullOrWhiteSpace(lisOutcomeServiceUrl) && !string.IsNullOrWhiteSpace(lisResultSourcedid)) { var outcome = await db.Outcomes.SingleOrDefaultAsync(o => o.ConsumerId == consumer.ConsumerId && o.LisResultSourcedId == lisResultSourcedid); if (outcome == null) { outcome = new Outcome { ConsumerId = consumer.ConsumerId, LisResultSourcedId = lisResultSourcedid }; db.Outcomes.Add(outcome); await db.SaveChangesAsync(); // Assign OutcomeId; } outcome.ContextTitle = context.LtiRequest.ContextTitle; outcome.ServiceUrl = lisOutcomeServiceUrl; await db.SaveChangesAsync(); // Add the outcome ID as a claim claims.Add(new Claim("OutcomeId", outcome.OutcomeId.ToString(CultureInfo.InvariantCulture))); } // Sign in await SecurityHandler.OnAuthenticated <LtiUserManager, LtiUser>( context, claims); }, // Generate a username using the LisPersonEmailPrimary from the LTI request OnGenerateUserName = async context => await SecurityHandler.OnGenerateUserName(context) }, //ChallengeResultUrl = new PathString("/Manage/ToolConsumerLogins"), SignInAsAuthenticationType = DefaultAuthenticationTypes.ApplicationCookie }); }
public ActionResult CreateUpdateUser(UserViewModel user) { var nuser = new User(); try { nuser = Mapper.Map <User>(user); if (user.Id == 0) { nuser = this.UserService.CreateUser(nuser); if (user.IsOwner) { var owner = new OwnerRequest() { UserId = nuser.Id, FunctionalUnitId = user.FunctionalUnitId }; this.OwnerService.CreateOwner(owner); } if (user.IsProvider) { var provider = new ProviderRequest() { UserId = nuser.Id }; this.ProviderService.CreateProvider(provider); } if (user.IsRenter) { var renter = new RenterRequest() { UserId = nuser.Id, PaymentTypeId = user.PaymentTypeId, FunctionalUnitId = user.FunctionalUnitId }; this.RenterService.CreateRenter(renter); } if (user.IsWorker) { var worker = new WorkerRequest() { UserId = nuser.Id, AdministrationId = user.AdministrationId }; this.WorkerService.CreateWorker(worker); } } else { this.UserService.UpdateUser(nuser); } return(Redirect("/Users/Index")); } catch (Exception ex) { return(View("../Shared/Error")); } }
public bool UpdateProvider(ProviderRequest Provider) { return(IntegrationService.RestCallNoReturn(ConfigurationManager.AppSettings["ApiCoreUrl"], string.Format(ApiCore.UpdateProvider, Provider.Id), RestMethod.Put, null, Provider)); }
private void MergeProvider(Provider originalProvider, ProviderRequest Provider) { originalProvider.User = this.UserRepository.GetById(Provider.UserId); originalProvider.Item = Provider.Item; }
public Provider UpdateProvider(Provider originalProvider, ProviderRequest Provider) { this.MergeProvider(originalProvider, Provider); ProviderRepository.Update(originalProvider); return(originalProvider); }