public async Task <int> mtdCrearSaldo(string strIdUser) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> time = par.mtdObtenerFechaMexico(); // DateTime time = DateTime.Now; var saldo = new Saldos { created_by = strIdUser, created_date = time.Value, bit_status = true, dtmfecha = time.Value, flt_monto_final = 0.0, flt_monto_inicial = 0.0, str_forma_pago = " ", str_tipo_recarga = " ", int_id_usuario_id = strIdUser, int_id_usuario_trans = strIdUser, intidconcesion_id = null }; await context.AddAsync(saldo); await context.SaveChangesAsync(); intdSaldo = saldo.id; return(intdSaldo); } catch (Exception ex) { return(0); } }
public async Task <ActionResult> mtdActualizaComerciante(int id, [FromBody] Comisiones comisiones) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); var response = await context.tbcomisiones.FirstOrDefaultAsync(x => x.id == id); if (response.id != id) { return(BadRequest()); } response.dcm_porcentaje = comisiones.dcm_porcentaje; response.dcm_valor_fijo = comisiones.dcm_valor_fijo; response.str_tipo = comisiones.str_tipo; response.last_modified_by = comisiones.last_modified_by; response.last_modified_date = horadeTransaccion.Value; response.intidconcesion_id = comisiones.intidconcesion_id; await context.SaveChangesAsync(); return(Ok()); } catch (Exception ex) { //ModelState.AddModelError("token", ex.Message); //return BadRequest(ModelState); return(Json(new { token = ex.Message })); } }
public async Task <ActionResult> mtdIngresarCiudad([FromBody] Ciudades ciudades) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); DateTime time = horadeTransaccion.Value; //DateTime time = DateTime.Now; using (IDbContextTransaction transaction = context.Database.BeginTransaction()) { try { ciudades.created_date = time; ciudades.last_modified_date = time; ciudades.int_id_ciudad = null; context.tbciudades.Add(ciudades); await context.SaveChangesAsync(); context.tbcatciudades.Add(new CatCiudades() { str_ciudad = ciudades.str_ciudad }); await context.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); return(Json(new { token = ex.Message })); } } return(Ok()); } catch (Exception ex) { //ModelState.AddModelError("token", ex.Message); //return BadRequest(ModelState); return(Json(new { token = ex.Message })); } }
public async Task <ActionResult> mtdIngresarComerciante([FromBody] Comisiones comisiones) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); comisiones.created_date = horadeTransaccion.Value; comisiones.last_modified_date = horadeTransaccion.Value; context.tbcomisiones.Add(comisiones); await context.SaveChangesAsync(); return(Ok()); } catch (Exception ex) { //ModelState.AddModelError("token", ex.Message); //return BadRequest(ModelState); return(Json(new { token = ex.Message })); } }
public async Task <ActionResult> mtdAgregarLicencias(int intidConcesion, [FromBody] AgregarLicencias licencias) { try { var response = await context.tbconcesiones.FirstOrDefaultAsync(x => x.id == intidConcesion); if (response == null) { return(NotFound()); } ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); var tipoUsuario = await context.tbtiposusuarios.FirstOrDefaultAsync(x => x.strTipoUsuario == "AGENTE VIAL"); foreach (var item in licencias.cuentas) { var user = new ApplicationUser { UserName = item.Email, Email = item.Email, created_date = horadeTransaccion.Value, intidconcesion_id = intidConcesion, intIdTipoUsuario = tipoUsuario.id, intidciudad = response.intidciudad, EmailConfirmed = true, bit_status = true }; var result = await _userManager.CreateAsync(user, item.PasswordHash); } return(Ok()); } catch (Exception ex) { return(Json(new { token = ex.Message })); } }
public async Task <ActionResult> mtdRecargarSaldo(double fltMonto, [FromBody] Saldos saldos) { string strresult = " "; double dblSaldoInicial = 0; //var strategy = context.Database.CreateExecutionStrategy(); //await strategy.ExecuteAsync(async () => //{ using (IDbContextTransaction transaction = context.Database.BeginTransaction()) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); DateTime time = horadeTransaccion.Value; //DateTime time = DateTime.Now; //Se ocomento esta linea por actualizacion //var response = await context.tbsaldo.FirstOrDefaultAsync(x => x.id == id); //var comision = await context.tbcomisiones.FirstOrDefaultAsync(x => x.intidconcesion_id == movimientos.intidconcesion_id && x.str_tipo == "RECARGA"); var usuario = await context.NetUsers.FirstOrDefaultAsync(x => x.Id == saldos.int_id_usuario_trans); dblSaldoInicial = usuario.dbl_saldo_actual; usuario.dbl_saldo_actual = usuario.dbl_saldo_actual + fltMonto; usuario.dbl_saldo_anterior = dblSaldoInicial; var comision = await context.tbparametros.Where(x => x.intidconcesion_id == null).FirstOrDefaultAsync(); double c = comision.PorcentajeComisionRecarga / 100; double total = fltMonto * c; //Se comento esta linea por actualizacion //response.last_modified_by = saldos.last_modified_by; //response.last_modified_date = horadeTransaccion.Value; //response.dtmfecha = horadeTransaccion.Value; //response.flt_monto_final = response.flt_monto_final + fltMonto; //response.flt_monto_inicial = dblSaldoInicial; //response.int_id_usuario_trans = saldos.int_id_usuario_trans; //response.str_forma_pago = saldos.str_forma_pago; //response.str_tipo_recarga = saldos.str_tipo_recarga; //response.intidconcesion_id = saldos.intidconcesion_id; await context.SaveChangesAsync(); context.tbsaldo.Add(new Saldos() { created_by = saldos.created_by, // created_date = horadeTransaccion.Value, dtmfecha = time, last_modified_date = time, flt_monto_inicial = dblSaldoInicial, flt_monto_final = usuario.dbl_saldo_actual, str_forma_pago = "VIRTUAL", str_tipo_recarga = "RECARGA", flt_monto = fltMonto, flt_porcentaje_comision = total, flt_total_con_comision = fltMonto + total, int_id_usuario_id = usuario.Id, int_id_usuario_trans = usuario.Id });; await context.SaveChangesAsync(); await _emailSender.SendEmailAsync(usuario.Email, "Recarga de saldo", "La recarga de saldo se ha realizado exitosamente. Monto $" + fltMonto + "MXN.<br/> Si usted no reconoce este movimiento comuniquese con el equipo de soporte"); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); strresult = ex.Message; } } //}); return(Ok()); }
public async Task <ActionResult <UserToken> > CreateUser([FromBody] UserInfo model, string returnUrl) { try { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); var usermail = await _userManager.FindByEmailAsync(model.Email); var usuario = await _userManager.FindByNameAsync(model.UserName); var tipous = await context.tbtiposusuarios.FirstOrDefaultAsync(x => x.strTipoUsuario == model.Rol); if (usermail == null && usuario == null) { //String responseString = await client.GetStringAsync(UrlFecha); //dynamic fecha = JsonConvert.DeserializeObject<dynamic>(responseString); //string strFecha = fecha.resultado.ToString(); // DateTime horadeTransaccion = DateTime.Parse(strFecha); if (tipous.strTipoUsuario == "MOVIL") { ActionResult <bool> ar = await mtdCreaUsuarioMovil(model, horadeTransaccion.Value, tipous.id); if (ar.Value == true) { return(Ok()); } else { return(Json(new { token = "Username or password invalid" })); } } else { var user = new ApplicationUser { strNombre = model.strNombre, strApellidos = model.strApellidos, PhoneNumber = model.PhoneNumber, str_rfc = model.str_rfc, str_direccion = model.str_direccion, str_cp = model.str_cp, str_razon_social = model.str_razon_social, UserName = model.UserName, Email = model.Email, created_by = model.created_by, created_date = horadeTransaccion.Value, last_modified_by = model.last_modified_by, last_modified_date = horadeTransaccion.Value, intidconcesion_id = model.intidconcesion_id, intIdTipoUsuario = tipous.id, intidciudad = model.intidciudad, bit_status = true }; strIdUsuario = user.Id; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var confirmationLink = Url.Action("ConfirmarEmail", "Cuentas", new { userId = user.Id, code = code }, Request.Scheme); _logger.Log(LogLevel.Warning, confirmationLink); await _emailSender.SendEmailAsync(user.Email, "Confirme su cuenta de correo", "Por favor confirme su cuenta de correo haciendo clic en el siguiente enlace: <a href=\"" + confirmationLink + "\">link</a>"); return(Ok()); } else { return(Json(new { token = "Username or password invalid" })); } } } else { return(Json(new { token = "El correo o usuario ya se encuentra registrado" })); } } catch (Exception ex) { return(Json(new { token = ex.Message })); } }
public async Task <ActionResult> mtdActualizaConcesiones(int id, [FromBody] ConcesionesConUsers concesiones) { string strIdUsuario = ""; string strResult = ""; var concesion = await context.tbconcesiones.FirstOrDefaultAsync(x => x.id == id); var tipoUsuario = await context.tbtiposusuarios.FirstOrDefaultAsync(x => x.strTipoUsuario == "AGENTE VIAL"); var usuarios = await context.NetUsers.Where(x => x.intidconcesion_id == id && x.intIdTipoUsuario == tipoUsuario.id).ToListAsync(); var opcionesC = await context.tbpcionesconcesion.Where(x => x.int_id_concesion == id).ToListAsync(); var tarifaC = await context.tbtarifas.FirstOrDefaultAsync(x => x.intidconcesion_id == id); ParametrosController par = new ParametrosController(context); ActionResult <DateTime> time = par.mtdObtenerFechaMexico(); DateTime horadeTransaccion = time.Value; //DateTime horadeTransaccion = DateTime.Now; if (concesion.id != id) { return(BadRequest()); } //var strategy = context.Database.CreateExecutionStrategy(); //await strategy.ExecuteAsync(async () => //{ using (IDbContextTransaction transaction = context.Database.BeginTransaction()) { try { var ciudadC = await context.tbciudades.Where(x => x.int_id_ciudad == concesion.intidciudad_cat).FirstOrDefaultAsync(); ciudadC.int_id_ciudad = null; ciudadC.str_desc_ciudad = null; await context.SaveChangesAsync(); var ciudad = await context.tbciudades.Where(x => x.str_ciudad == concesiones.str_ciudad).FirstOrDefaultAsync(); ciudad.str_desc_ciudad = ciudad.str_ciudad; ciudad.int_id_ciudad = concesiones.intidciudad_cat; await context.SaveChangesAsync(); concesion.str_clave = concesiones.str_clave; concesion.str_latitud = concesiones.str_latitud; concesion.str_longitud = concesiones.str_longitud; concesion.str_razon_social = concesiones.str_razon_social; concesion.str_domicilio = concesiones.str_domicilio; concesion.str_nombre_cliente = concesiones.str_nombre_cliente; concesion.intidciudad_cat = concesiones.intidciudad_cat; concesion.intidciudad = ciudad.id; concesion.str_ciudad = concesiones.str_ciudad; concesion.str_telefono = concesiones.str_telefono; concesion.str_email = concesiones.str_email; concesion.str_rfc = concesiones.str_rfc; concesion.str_notas = concesiones.str_notas; concesion.str_poligono = concesiones.str_poligono; concesion.int_licencias = concesiones.int_licencias; concesion.dbl_costo_licencia = concesiones.dbl_costo_licencia; concesion.dtm_fecha_ingreso = concesiones.dtm_fecha_ingreso; await context.SaveChangesAsync(); foreach (var item in concesiones.tarifas) { //tarifaC.str_tipo = item.str_tipo; tarifaC.flt_tarifa_min = item.flt_tarifa_min; tarifaC.int_tiempo_minimo = item.int_tiempo_minimo; tarifaC.flt_tarifa_max = item.flt_tarifa_max; tarifaC.int_tiempo_maximo = item.int_tiempo_maximo; tarifaC.flt_tarifa_intervalo = item.flt_tarifa_intervalo; tarifaC.int_intervalo_minutos = item.int_intervalo_minutos; tarifaC.bool_cobro_fraccion = item.bool_cobro_fraccion; //tarifaC.intidconcesion_id = id; await context.SaveChangesAsync(); } for (int i = 0; i < usuarios.Count; i++) { foreach (var item in concesiones.cuentas) { usuarios[i].UserName = item.Email; usuarios[i].Email = item.Email; usuarios[i].created_date = horadeTransaccion; usuarios[i].intidconcesion_id = concesion.id; usuarios[i].intIdTipoUsuario = tipoUsuario.id; usuarios[i].intidciudad = concesion.intidciudad; await context.SaveChangesAsync(); await _userManager.RemovePasswordAsync(usuarios[i]); var result = await _userManager.AddPasswordAsync(usuarios[i], item.PasswordHash); i++; } } context.tbpcionesconcesion.RemoveRange(opcionesC); var result2 = concesiones.opciones; dynamic results = JsonConvert.DeserializeObject(concesiones.opciones.ToString()); foreach (var token in results["int_id_opcion"]) { context.tbpcionesconcesion.Add(new ConcesionesOpciones() { int_id_opcion = token, int_id_concesion = concesion.id }); await context.SaveChangesAsync(); } //foreach (var item in concesiones.opciones) //{ // context.tbpcionesconcesion.Add(new ConcesionesOpciones() // { // int_id_opcion = item.int_id_opcion, // int_id_concesion = concesion.id // }); // await context.SaveChangesAsync(); //} transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); strResult = ex.Message; } } //}); return(Json(new { token = strResult })); }
public async Task <ActionResult <Concesiones> > mtdIngresarConcesiones([FromBody] ConcesionesConUsersIngresar concesiones) { ParametrosController par = new ParametrosController(context); ActionResult <DateTime> horadeTransaccion = par.mtdObtenerFechaMexico(); string strIdUsuario = ""; string strResult = ""; //var strategy = context.Database.CreateExecutionStrategy(); //await strategy.ExecuteAsync(async () => //{ using (IDbContextTransaction transaction = context.Database.BeginTransaction()) { try { var ciudad = await context.tbciudades.Where(x => x.str_ciudad == concesiones.str_ciudad).FirstOrDefaultAsync(); concesiones.dtm_fecha_ingreso = horadeTransaccion.Value; var tipoUsuario = await context.tbtiposusuarios.FirstOrDefaultAsync(x => x.strTipoUsuario == "AGENTE VIAL"); var concesion = new Concesiones { str_clave = concesiones.str_clave, str_latitud = concesiones.str_latitud, str_longitud = concesiones.str_longitud, str_razon_social = concesiones.str_razon_social, str_domicilio = concesiones.str_domicilio, str_nombre_cliente = concesiones.str_nombre_cliente, str_telefono = concesiones.str_telefono, str_email = concesiones.str_email, str_rfc = concesiones.str_rfc, str_notas = concesiones.str_notas, int_licencias = concesiones.int_licencias, dbl_costo_licencia = concesiones.dbl_costo_licencia, dtm_fecha_ingreso = concesiones.dtm_fecha_ingreso, dtm_fecha_activacion_licencia = concesiones.dtm_fecha_activacion_licencia, str_tipo = concesiones.str_tipo, intidciudad = ciudad.id, str_ciudad = concesiones.str_ciudad, intidciudad_cat = concesiones.intidciudad_cat, bit_status = true }; context.tbconcesiones.Add(concesion); await context.SaveChangesAsync(); ciudad.int_id_ciudad = concesiones.intidciudad_cat; ciudad.str_desc_ciudad = concesiones.str_ciudad; await context.SaveChangesAsync(); foreach (var item in concesiones.cuentas) { var user = new ApplicationUser { UserName = item.Email, Email = item.Email, created_date = horadeTransaccion.Value, intidconcesion_id = concesion.id, intIdTipoUsuario = tipoUsuario.id, intidciudad = ciudad.id, EmailConfirmed = true, bit_status = true }; strIdUsuario = user.Id; var result = await _userManager.CreateAsync(user, item.PasswordHash); } var result2 = concesiones.opciones; dynamic results = JsonConvert.DeserializeObject(concesiones.opciones.ToString()); foreach (var token in results["int_id_opcion"]) { context.tbpcionesconcesion.Add(new ConcesionesOpciones() { int_id_opcion = token, int_id_concesion = concesion.id }); await context.SaveChangesAsync(); } foreach (var item in concesiones.tarifas) { context.tbtarifas.Add(new Tarifas() { //str_tipo = item.str_tipo, flt_tarifa_min = item.flt_tarifa_min, int_tiempo_minimo = item.int_tiempo_minimo, flt_tarifa_max = item.flt_tarifa_max, int_tiempo_maximo = item.int_tiempo_maximo, flt_tarifa_intervalo = item.flt_tarifa_intervalo, int_intervalo_minutos = item.int_intervalo_minutos, bool_cobro_fraccion = item.bool_cobro_fraccion, intidconcesion_id = concesion.id }); await context.SaveChangesAsync(); } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); strResult = ex.Message; } } //}); return(Json(new { token = strResult })); }