public ActionResult Login(UsuarioLogin usuario, string ReturnUrl = null) { if (usuario.Validate()) { //TODO: colocar usuario na sessão FormsAuthentication.RedirectFromLoginPage(usuario.Email, true); } return View(usuario); }
public ActionResult Login(UsuarioLogin model) { if (ModelState.IsValid) { Usuario usuario = servicioGeneral.ObtenerUsuarioPorNombre(model.UserName); if (usuario != null && model.UserName.Equals(usuario.userLogin) && usuario.password.Equals(servicio.Encrypt(model.Password))) { Session["user"] = new UsuarioLogin() { UserName = model.UserName , nombre = usuario.nombre , apellido = usuario.apellido }; return RedirectToAction("UserPanel","Account"); } } return View(); }
private string GerarAuthenticationHeader(UsuarioLogin usuarioLogin) { return("Basic " + Convert.ToBase64String( Encoding.ASCII.GetBytes($"{usuarioLogin.Email}:{usuarioLogin.ApiKey}")));; }
public static void GuardarEnHttpContext(this UsuarioLogin usuario, HttpActionContext actionContext) { actionContext.Request.Properties.Add(USER_DATA_KEY, usuario); }
private UsuarioLogin FillDatosUsuarioPersonal(DataTable dt = null) { try { UsuarioLogin DatosUsuario = null; if (dt != null) { DatosUsuario = new UsuarioLogin(); foreach (DataRow row in dt.Rows) { #region Loading if (row["USUWEB_ID"] != null) { DatosUsuario.IdUsuario = Convert.ToInt32(row["USUWEB_ID"]); } if (row["PER_NOM"] != null) { DatosUsuario.NomUsuario = row["PER_NOM"].ToString(); } if (row["PER_APEPAT"] != null) { DatosUsuario.ApePatUsuario = row["PER_APEPAT"].ToString(); } if (row["PER_APEMAT"] != null) { DatosUsuario.ApeMatUsuario = row["PER_APEMAT"].ToString(); } if (row["USUWEB_LOGIN"] != null) { DatosUsuario.LoginUsuario = row["USUWEB_LOGIN"].ToString(); } if (row["PER_EMAIL"] != null) { DatosUsuario.EmailUsuario = row["PER_EMAIL"].ToString(); } if (row["PER_ESTADO"] != null) { DatosUsuario.EstadoUsuario = row["PER_ESTADO"].ToString(); } if (row["DEP_ID"] != null) { DatosUsuario.IdDep = Convert.ToInt32(row["DEP_ID"]); } if (row["OFI_ID"] != null) { DatosUsuario.IdOfi = Convert.ToInt32(row["OFI_ID"]); } if (row["EMP_ID"] != null) { } DatosUsuario.IdEmp = Convert.ToInt32(row["EMP_ID"]); if (row["ES_COUNTER_ADMIN"] != null && string.IsNullOrEmpty(row["ES_COUNTER_ADMIN"].ToString()) == false) { DatosUsuario.EsCounterAdminSRV = (row["ES_COUNTER_ADMIN"].ToString() == "1" ? true : false); } if (row["PER_ES_SUPERVISOR"] != null && string.IsNullOrEmpty(row["PER_ES_SUPERVISOR"].ToString()) == false) { DatosUsuario.EsSupervisorSRV = (row["PER_ES_SUPERVISOR"].ToString() == "1" ? true : false); } DatosUsuario.TipoUsuario = TIPO_USUARIO.PERSONAL; DatosUsuario.NomCompletoUsuario = (DatosUsuario.NomUsuario != null ? DatosUsuario.NomUsuario : "") + (DatosUsuario.ApePatUsuario != null ? DatosUsuario.ApePatUsuario : "") + (DatosUsuario.ApeMatUsuario != null ? DatosUsuario.ApeMatUsuario : ""); #endregion break; } } return(DatosUsuario); } catch (Exception) { throw; } }
public async Task <IActionResult> Edit(Usuario usuario) { var i = (ClaimsIdentity)User.Identity; List <SelectListItem> Perfil = new SelectList(_context.Perfil.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList(); List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(f => f.NombreCompleto), "Codigo", "NombreCompleto").ToList(); if (i.IsAuthenticated) { try { if (ModelState.IsValid) { try { usuario.Codigo = Encriptacion.Decrypt(usuario.Codigo); usuario.SecurityStamp = Guid.NewGuid().ToString(); var us = new UsuarioLogin { UserName = usuario.CorreoElectronico }; usuario.PasswordHash = _userManager.PasswordHasher.HashPassword(us, usuario.Contrasenia); if (usuario.CodigoPersonal == "0") { usuario.CodigoPersonal = null; } _context.Update(usuario); await _context.SaveChangesAsync(); await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Usuario", usuario.Codigo, "U"); ViewBag.Message = "Save"; Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; return(View(usuario)); } catch (DbUpdateConcurrencyException) { throw; } } Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; return(View(usuario)); } catch (Exception e) { string mensaje = e.Message; if (e.InnerException != null) { mensaje = MensajesError.UniqueKey(e.InnerException.Message); } Perfil.Insert(0, vacio); ViewData["CodigoPerfil"] = Perfil; Personal.Insert(0, vacio); ViewData["CodigoPersonal"] = Personal; ViewBag.Message = mensaje; return(View(usuario)); } } else { return(Redirect("../Identity/Account/Login")); } }
public IHttpActionResult Create(Pedido pedido) { Models.PedidoRS _resultpedido = new Models.PedidoRS(); UsuarioLogin DtsUsuarioLogin = null; var errorPedido = string.Empty; bool _return = false; try { /*Validaciones*/ validacionPedido(ref pedido, ref _resultpedido, ref _return, ref DtsUsuarioLogin); if (_return == true) { return(Ok(_resultpedido)); } RepositoryByBusiness(pedido.UnidadNegocio.ID); /*Generamos el Pedido*/ var operation = _pedidoRepository.Create(pedido); if (operation[Operation.Result].ToString() == ResultType.Success.ToString() && Convert.ToInt32(operation[OutParameter.IdPedido].ToString()) > 0) { _resultpedido.IdPedido = Convert.ToInt32(operation[OutParameter.IdPedido].ToString()); //Actualizamos el campo solicitado por CRM SalesForce asociado al numero de pedido _pedidoRepository.Update_Pedido_SolicitudPago_SF(_resultpedido.IdPedido, pedido.IdCotVta, pedido.IdOportunidad_SF, pedido.IdSolicitudpago_SF); } else { //_resultpedido.CodigoError = "GP"; _resultpedido.MensajeError = "Error al intentar generar el pedido"; _resultpedido.CodigoError = "ER"; _resultpedido.MensajeError = "GP - Error al intentar generar el pedido"; return(Ok(_resultpedido)); } /*Generamos el codigo en SafetyPay*/ ws_compra.ws_compra Ws_Compra = new ws_compra.ws_compra(); CustomOnlinePaymentRequestType request = new CustomOnlinePaymentRequestType(); ws_compra.AmountType objAmountType = new ws_compra.AmountType(); objAmountType.CurrencyID = "150"; /*Valor del dolar para SafetyPay*/ objAmountType.Value = Convert.ToDecimal(pedido.Monto); request.BankID = String.Empty; request.TransactionIdentifier = String.Empty; request.MerchantAccount = String.Empty; request.MerchantSalesID = _resultpedido.IdPedido.ToString(); request.TrackingCode = "0"; request.ExpirationTime = (Convert.ToInt16(pedido.TiempoExpiracionCIP) * 60); request.ExpirationTimeSpecified = true; request.Language = (pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "PE" : "ES"); request.CountryID = "PER"; request.Amount = objAmountType; request.TransactionOkURL = (pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "http://www.destinosmundialesperu.com/" : "http://www.nmviajes.com/"); request.TransactionErrorURL = (pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "http://www.destinosmundialesperu.com/" : "http://www.nmviajes.com/seguros#"); request.SendEmailToShopper = true; if (request.SendEmailToShopper) { request.CustomerInformation_Value = DtsUsuarioLogin.EmailUsuario; } request.IdDepartamento = DtsUsuarioLogin.IdDep; request.IdOficina = DtsUsuarioLogin.IdOfi; request.ApplicationID = Convert.ToInt16(pedido.IdWeb); ws_compra.RptaPagoSafetyPay response = new ws_compra.RptaPagoSafetyPay(); if (pedido.IdWeb == Webs_Cid.DM_WEB_ID || (pedido.IdCanalVta != null && pedido.IdCanalVta == Constantes_Pedido.ID_CANAL_VENTA_CONTACT_CENTER)) { request.WebId = Convert.ToInt32(pedido.IdWeb); response = Ws_Compra.GenerarPago_SafetyPay_OnlineDM(request); } else { response = Ws_Compra.GenerarPago_SafetyPay_Online(request); } if (response.OperationId != null && response.TransaccionIdentifier != null) { _resultpedido.CodigoOperacion = response.OperationId; _resultpedido.CodigoTransaction = response.TransaccionIdentifier; _resultpedido.CodigoError = "OK"; _resultpedido.MensajeError = "Se generó el código de pedido."; } else { //_resultpedido.CodigoError = "GP"; _resultpedido.MensajeError = "Error al intentar generar el CIP"; _resultpedido.CodigoError = "ER"; _resultpedido.MensajeError = "GP - Error al intentar generar el CIP"; return(Ok(_resultpedido)); } Models.RptaPagoSafetyPay RptaPagoSafetyPayBD = _pedidoRepository.Get_Rpta_SagetyPay(_resultpedido.IdPedido); List <Models.PaymentLocationType> lstPaymentType = new List <Models.PaymentLocationType>(); if (response.lst_PaymentLocationType != null) { List <Models.PaymentStepType> lstPaymentStep = new List <Models.PaymentStepType>(); List <Models.PaymentInstructionType> lstPaymentInstructions = new List <Models.PaymentInstructionType>(); foreach (ws_compra.PaymentLocationType objPaymentLocationTypeRSTmp in response.lst_PaymentLocationType) { Models.PaymentLocationType objPaymentLocationTypeRS = new Models.PaymentLocationType(); objPaymentLocationTypeRS.Id = objPaymentLocationTypeRSTmp.ID; foreach (ws_compra.PaymentStepType objPaymentStepRSTmp in objPaymentLocationTypeRSTmp.lst_PaymentStepType) { Models.PaymentStepType objPaymentStepRS = new Models.PaymentStepType(); objPaymentStepRS.Step = objPaymentStepRSTmp.Step; objPaymentStepRS.StepSpecified = objPaymentStepRSTmp.StepSpecified; objPaymentStepRS.Value = objPaymentStepRSTmp.Value; lstPaymentStep.Add(objPaymentStepRS); } if (objPaymentLocationTypeRSTmp.PaymentInstructions != null) { foreach (ws_compra.PaymentInstructionType objPaymentInstructionTypeRSTmp in objPaymentLocationTypeRSTmp.PaymentInstructions) { Models.PaymentInstructionType objPaymentInstructionsRS = new Models.PaymentInstructionType(); objPaymentInstructionsRS.Name = objPaymentInstructionTypeRSTmp.Name; objPaymentInstructionsRS.Value = objPaymentInstructionTypeRSTmp.Value; lstPaymentInstructions.Add(objPaymentInstructionsRS); } } objPaymentLocationTypeRS.lstPaymentStepType = lstPaymentStep; objPaymentLocationTypeRS.Name = objPaymentLocationTypeRSTmp.Name; objPaymentLocationTypeRS.PaymentInstructions = lstPaymentInstructions.ToArray(); objPaymentLocationTypeRS.PaymentSteps = lstPaymentStep.ToArray(); lstPaymentType.Add(objPaymentLocationTypeRS); } } /*Realizamos el envio del correo*/ try { IEnviarCorreo objEnviarCorreo = new EnviarCorreo(pedido.UnidadNegocio.ID); DateTime datFechaActual = DateTime.Now; DateTime datFechaExpiraPago; string strExpirationDateTime = response.ExpirationDateTime; string[] arrExp = strExpirationDateTime.Split('('); datFechaExpiraPago = datFechaActual.AddHours(Convert.ToInt16(pedido.TiempoExpiracionCIP)); _resultpedido.CorreoEnviado = objEnviarCorreo.Enviar_SolicitudPagoServicioSafetyPay(pedido.IdUsuario.ToString(), Convert.ToInt32(pedido.IdWeb), Convert.ToInt32(pedido.IdLang), pedido.IdCotVta, pedido.Email, null, pedido.NombreClienteCot, pedido.ApellidoClienteCot, null, DtsUsuarioLogin.NomCompletoUsuario, DtsUsuarioLogin.EmailUsuario, (pedido.CodePasarelaPago == Constantes_SafetyPay.CodeSafetyPayOnline ? Constantes_Pedido.ID_FORMA_PAGO_SAFETYPAY_ONLINE : Convert.ToInt16(0)), RptaPagoSafetyPayBD.TransaccionIdentifier, _resultpedido.IdPedido, Convert.ToDouble(pedido.Monto), RptaPagoSafetyPayBD.ExpirationDateTime, RptaPagoSafetyPayBD.lstAmountType, lstPaymentType); objEnviarCorreo = null; } catch (Exception ex) { errorPedido = "Error al enviar el correo |" + ex.Message; /*return InternalServerError(ex);*/ } /*Inserta Forma de Pedido*/ _pedidoRepository.InsertFormaPagoPedido(pedido, _resultpedido); _pedidoRepository.Update_FechaExpira_Pedido(pedido, _resultpedido); /*Insertamos el POST en el SRV*/ string strTextoPost = "<span class='texto_cambio_estado'>Cambio de estado a <strong>Pendiente de Pago</strong></span><br><br>" + "La pasarela de pago ha actualizado el estado de su cotización."; ICotizacionSRV_Repository _CotizacionSRV = new CotizacionSRV_AW_Repository(pedido.UnidadNegocio.ID); Post_SRV _PostSRV_RQ = new Post_SRV() { IdCot = pedido.IdCotVta, TipoPost = Convert.ToInt16(Constantes_SRV.ID_TIPO_POST_SRV_USUARIO), TextoPost = strTextoPost, IPUsuCrea = (string.IsNullOrEmpty(pedido.IPUsuario) ? "127.0.0.0" : pedido.IPUsuario), LoginUsuCrea = DtsUsuarioLogin.LoginUsuario, IdUsuWeb = DtsUsuarioLogin.IdUsuario, IdDep = DtsUsuarioLogin.IdDep, IdOfi = DtsUsuarioLogin.IdOfi, Archivos = null, LstFilesPTA = null, IdEstado = Constantes_SRV.ID_ESTADO_COT_PENDIENTE_PAGO, CambioEstado = true, LstFechasCotVta = null, EsAutomatico = true, ArchivoMail = null, EsCounterAdmin = false, IdUsuWebCounterCrea = null, IdOfiCounterCrea = null, IdDepCounterCrea = null, EsUrgenteEmision = null, FecPlazoEmision = null, IdMotivoNoCompro = null, OtroMotivoNoCompro = null, MontoEstimadoFile = null }; _CotizacionSRV.ProcesosPostCotizacion(_PostSRV_RQ); return(Ok(_resultpedido)); } catch (Exception ex) { errorPedido = ex.Message; return(InternalServerError(ex)); } finally { (new { Request = pedido, Response = _resultpedido, Exception = errorPedido }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
public async Task <ActionResult> Login(UsuarioLogin model) { if (!ModelState.IsValid) { return(View(model)); } using (HttpClient httpClient = new HttpClient()) { HttpContent content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("grant_type", "password"), new KeyValuePair <string, string>("UserName", model.UserName), new KeyValuePair <string, string>("Password", model.Password) }); //HttpResponseMessage result = httpClient.PostAsync("http://192.168.43.112:5656/token", content).Result; //HttpResponseMessage result = httpClient.PostAsync("http://localhost:5757/token", content).Result; HttpResponseMessage result = httpClient.PostAsync("http://localhost:5757/token", content).Result; string resultContent = result.Content.ReadAsStringAsync().Result; switch (result.StatusCode) { case System.Net.HttpStatusCode.OK: var token = JsonConvert.DeserializeObject <AuthorizationToken>(resultContent); //AuthenticationProperties options = new AuthenticationProperties(); //options.AllowRefresh = true; //options.IsPersistent = true; //options.ExpiresUtc = DateTime.UtcNow.AddSeconds(int.Parse(token.expires_in)); var claims = new[] { new Claim(ClaimTypes.Name, model.UserName), new Claim("AccessToken", string.Format("Bearer {0}", token.access_token)) }; var identity = new ClaimsIdentity(claims, "ApplicationCookie"); Request.GetOwinContext().Authentication.SignIn(identity); //Request.GetOwinContext().Authentication.SignIn(options, identity); //informacion de perfil de usuario para sesion var profileData = new UserProfileSessionData { FullName = model.UserName, Token = token.access_token }; ConnectionHelper.httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + token.access_token); this.Session["UserInfo"] = profileData; return(RedirectToAction("Index", "Home")); break; case System.Net.HttpStatusCode.BadRequest: return(RedirectToAction("Login", "Home")); default: return(RedirectToAction("Login", "Home")); } } return(RedirectToAction("Login", "Home")); //return View(); //var response = await client.SendAsync(request); //response.EnsureSuccessStatusCode(); //var payload = JObject.Parse(await response.Content.ReadAsStringAsync()); //var token = payload.Value<string>("access_token"); //HttpResponseMessage response = ConnectionHelper.AuthorizeClient.PostAsJsonAsync("token", model).Result; //AuthorizationToken tokenItem = response.Content.ReadAsAsync<AuthorizationToken>().Result; // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false); //switch (result) //{ // case SignInStatus.Success: // return RedirectToLocal(returnUrl); // case SignInStatus.LockedOut: // return View("Lockout"); // case SignInStatus.RequiresVerification: // return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }); // case SignInStatus.Failure: // default: // ModelState.AddModelError("", "Invalid login attempt."); // return View(model); //} }
public bool Cadastra(UsuarioLogin login) { _contexto.Add(login); return(_contexto.SaveChanges() > 0); }
// Método de Pago: PE private void GenerarPedido_Pago_Efectivo(DatosPedido pedido, Models.PedidoRS resultPedido, UsuarioLogin DtsUsuarioLogin) { DateTime datFechaActual = DateTime.Now; var ddlHoraExpiraCIP = pedido.TiempoExpiracionCIP ?? 0; var datFechaExpiraPago = datFechaActual.AddHours(ddlHoraExpiraCIP); resultPedido.FechaExpiracion = datFechaExpiraPago; var intIdFormaPago = Constantes_FileRetail.INT_ID_FORMA_PAGO_PAGOEFECTIVO_EC; try { var strEmailsCliPE = pedido.Email; var dblMontoPagar = pedido.MontoPagar; var intIdPedido = resultPedido.IdPedido; var intIdWeb = pedido.IdWeb; var intIdLang = pedido.IdLang; var intIdCotVta = pedido.IdCotVta; // Dim paymentRequest As New BEGenRequest var paymentRequest = new ws_pagoefectivo.BEGenRequest(); paymentRequest.IdMoneda = ConfigAccess.GetValueInAppSettings("PE_MONEDA"); paymentRequest.Total = dblMontoPagar.ToString("0.00"); paymentRequest.MetodosPago = ConfigAccess.GetValueInAppSettings("PE_MEDIO_PAGO"); paymentRequest.Codtransaccion = intIdPedido.ToString(""); paymentRequest.ConceptoPago = string.Format("{0}: Orden {1}", ConfigAccess.GetValueInAppSettings("PE_COMERCIO_CONCEPTO_PAGO"), paymentRequest.Codtransaccion); paymentRequest.EmailComercio = strEmailsCliPE; paymentRequest.FechaAExpirar = datFechaExpiraPago.ToString("yyyy-MM-dd"); paymentRequest.UsuarioNombre = DtsUsuarioLogin.LoginUsuario; paymentRequest.UsuarioApellidos = DtsUsuarioLogin.ApePatUsuario; paymentRequest.UsuarioEmail = DtsUsuarioLogin.EmailUsuario; paymentRequest.IdDepartamento = DtsUsuarioLogin.IdDep; paymentRequest.IdOficina = DtsUsuarioLogin.IdOfi; var paymentResponse = (new ws_pagoefectivo.ws_PagoEfectivo()).GenerarCIP(paymentRequest); // Reintento de GENERACIÓN DE CIP if (paymentResponse == null || paymentResponse.Estado != "1" || paymentResponse.Token == null) { paymentResponse = (new ws_pagoefectivo.ws_PagoEfectivo()).GenerarCIP(paymentRequest); } var strCIP = resultPedido.CodigoCIP = paymentResponse.NumeroCip; // Enviar correo var objEnviarCorreo = new EnviarCorreo(); var strEmailsCli = pedido.Email; if (Enviar_SolicitudPagoServicioPagoEfectivo( intIdWeb ?? 0, intIdLang ?? 0, intIdCotVta, strEmailsCli, null, pedido.NombreClienteCot, pedido.ApellidoClienteCot, null, DtsUsuarioLogin.NomCompletoUsuario, DtsUsuarioLogin.EmailUsuario, short.Parse(pedido.FormaPago), strCIP, string.Empty, intIdPedido, dblMontoPagar, datFechaExpiraPago)) { resultPedido.CorreoEnviado = true; } } catch (Exception ex) { throw ex; } }
private void validacionPedido(ref DatosPedido _pedido, ref Models.PedidoRS _resultPedido, ref bool _return, ref UsuarioLogin UserLogin) { _return = false; string mensajeError = string.Empty; _pedido.IdLang = 1; _pedido.IdWeb = 0; string metodoDePago = string.Empty; if (_pedido.IdCotVta <= 0) { mensajeError += "Envie el codigo de SRV|"; } if (string.IsNullOrEmpty(_pedido.NombreClienteCot) || string.IsNullOrEmpty(_pedido.ApellidoClienteCot)) { mensajeError += "Envie los datos del SRV|"; } if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_PAGOEFECTIVO) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_CASH) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_INTERN) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_ONLINE) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_AMERICANEX) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_DINERS) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD_CA) { metodoDePago = _pedido.CodePasarelaPago; } else if (_pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_VISA) { metodoDePago = _pedido.CodePasarelaPago; } if (string.IsNullOrEmpty(_pedido.CodePasarelaPago)) { mensajeError += "Envie el tipo de pasarela|"; } else if (!_pedido.CodePasarelaPago.Trim().Contains(metodoDePago)) { mensajeError += "No se tiene registrado esta pasarela de pago|"; } if (string.IsNullOrEmpty(_pedido.DetalleServicio)) { mensajeError += "Envie el detalle del servicio|"; } if (string.IsNullOrEmpty(_pedido.Email)) { mensajeError += "Envie su Email|"; } if (string.IsNullOrEmpty(_pedido.Monto)) { mensajeError += "Envie el monto|"; } if (!string.IsNullOrEmpty(_pedido.Monto) && _pedido.Monto.Contains(",")) { mensajeError += "El uso de la coma (,) no es válido como separador decimal."; } if (_pedido.TiempoExpiracionCIP == null || _pedido.TiempoExpiracionCIP <= 0) { mensajeError += "Envie el tiempo de expiracion del CIP|"; } if (_pedido.UnidadNegocio == null || string.IsNullOrEmpty(_pedido.UnidadNegocio.Descripcion)) /*Duda*/ { mensajeError += "Envie los datos de su unidad de negocio|"; } if (string.IsNullOrEmpty(_pedido.IdUsuario) == false && ValidateProcess.isInt32(_pedido.IdUsuario) == true) { /*Cargamos Datos del Usuario*/ _datosUsuario = new DatosUsuario(_pedido.UnidadNegocio.ID); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(Convert.ToInt32(_pedido.IdUsuario)); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } else if (UserLogin.IdUsuario != Convert.ToInt32(_pedido.IdUsuario)) { _pedido.IdUsuario = UserLogin.IdUsuario.ToString(); } } else { mensajeError += "Envie el ID del Usuario correctamente|"; } if (string.IsNullOrEmpty(_pedido.IdOportunidad_SF)) { mensajeError += "Envie el IdOportunidad_SF|"; } if (string.IsNullOrEmpty(_pedido.IdSolicitudpago_SF)) { mensajeError += "Envie el IdSolicitudpago_SF"; } if (string.IsNullOrEmpty(mensajeError) == false) { _return = true; _resultPedido.CodigoError = "ER"; _resultPedido.MensajeError = "VP - " + mensajeError; } else { if (_pedido.IdCanalVta != null && _pedido.IdCanalVta == Constantes_Pedido.ID_CANAL_VENTA_CONTACT_CENTER) { _pedido.IdWeb = Webs_Cid.ID_WEB_IA; } if (_pedido.IdWeb == 0) { if ((UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_INTERNO) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_RECEPTIVO) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_OPERACIONES)) { _pedido.IdWeb = Webs_Cid.ID_WEB_NMV_RECEPTIVO; } else if ((UserLogin.IdOfi == Oficina.ID_OFI_NMVCOM & UserLogin.IdDep == Departamento.ID_DEP_COUNTER) | (UserLogin.IdOfi == Oficina.ID_OFI_NMV & UserLogin.IdDep == Departamento.ID_DEP_SISTEMAS)) { _pedido.IdWeb = Webs_Cid.NM_WEB_ID; } else { _pedido.IdWeb = Webs_Cid.ID_WEB_WEBFAREFINDER; } } } }
// Método de Pago: SI private void GenerarPedido_Safetypay_Internacional(DatosPedido pedido, Models.PedidoRS resultPedido, UsuarioLogin DtsUsuarioLogin) { }
// Método de Pago: IN { Descartado en el proyecto } private void GenerarPedido_Independencia(DatosPedido pedido, Models.PedidoRS resultPedido, UsuarioLogin DtsUsuarioLogin) { }
// Método de Pago: SO private void GenerarPedido_Safetypay_Online(DatosPedido pedido, Models.PedidoRS resultPedido, UsuarioLogin DtsUsuarioLogin) { var strEmailsCli = pedido.Email; var ws_SafetyPay = new ws_compra.ws_compra(); var request = new CustomOnlinePaymentRequestType(); var objAmountType = new ws_compra.AmountType(); objAmountType.CurrencyID = CurrencyEnumType.USD.ToString(); objAmountType.Value = decimal.TryParse(pedido.MontoPagar.ToString(), out decimal dblMontoPagar) ? dblMontoPagar : 0; request.BankID = string.Empty; request.TransactionIdentifier = string.Empty; request.MerchantAccount = string.Empty; request.MerchantSalesID = resultPedido.IdPedido.ToString(); request.TrackingCode = "0"; request.ExpirationTime = pedido.TiempoExpiracionCIP ?? 0 * 60; request.ExpirationTimeSpecified = true; request.Language = pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "PE": "ES"; request.CountryID = "PER"; request.Amount = objAmountType; request.TransactionOkURL = pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "http://www.destinosmundialesperu.com/" : "http://www.nmviajes.com/"; request.TransactionErrorURL = pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "http://www.destinosmundialesperu.com/" : "http://www.nmviajes.com/seguros#"; request.SendEmailToShopper = true; if (request.SendEmailToShopper) { request.CustomerInformation_Value = DtsUsuarioLogin.EmailUsuario; } request.IdDepartamento = DtsUsuarioLogin.IdDep; request.IdOficina = DtsUsuarioLogin.IdOfi; request.ApplicationID = (short)(pedido.IdWeb ?? 0); //var respond As ws_srv_gnm.ws_compra.RptaPagoSafetyPay ws_compra.RptaPagoSafetyPay respond; if (pedido.IdWeb == Webs_Cid.DM_WEB_ID) { request.WebId = pedido.IdWeb ?? 0; respond = ws_SafetyPay.GenerarPago_SafetyPay_OnlineDM(request); } else { request.IdDepartamento = DtsUsuarioLogin.IdDep; request.IdOficina = DtsUsuarioLogin.IdOfi; respond = ws_SafetyPay.GenerarPago_SafetyPay_Online(request); } var objRptaPagoSafetyPay = (new Pedido_AW_Repository()).Get_Rpta_SagetyPay(resultPedido.IdPedido); var lstPaymentType = new List <Models.PaymentLocationType>(); if (respond.lst_PaymentLocationType != null) { var lstPaymentStep = new List <Models.PaymentStepType>(); var lstPaymentInstructions = new List <Models.PaymentInstructionType>(); foreach (var objPaymentLocationTypeRSTmp in respond.lst_PaymentLocationType) { var objPaymentLocationTypeRS = new Models.PaymentLocationType(); objPaymentLocationTypeRS.Id = objPaymentLocationTypeRSTmp.ID; foreach (var objPaymentStepRSTmp in objPaymentLocationTypeRSTmp.lst_PaymentStepType) { var objPaymentStepRS = new Models.PaymentStepType(); objPaymentStepRS.Step = objPaymentStepRSTmp.Step; objPaymentStepRS.StepSpecified = objPaymentStepRSTmp.StepSpecified; objPaymentStepRS.Value = objPaymentStepRSTmp.Value; lstPaymentStep.Add(objPaymentStepRS); } if (objPaymentLocationTypeRSTmp.PaymentInstructions != null) { foreach (var objPaymentInstructionTypeRSTmp in objPaymentLocationTypeRSTmp.PaymentInstructions) { var objPaymentInstructionsRS = new Models.PaymentInstructionType(); objPaymentInstructionsRS.Name = objPaymentInstructionTypeRSTmp.Name; objPaymentInstructionsRS.Value = objPaymentInstructionTypeRSTmp.Value; lstPaymentInstructions.Add(objPaymentInstructionsRS); } } objPaymentLocationTypeRS.lstPaymentStepType = lstPaymentStep; objPaymentLocationTypeRS.Name = objPaymentLocationTypeRSTmp.Name; objPaymentLocationTypeRS.PaymentInstructions = lstPaymentInstructions.ToArray(); objPaymentLocationTypeRS.PaymentSteps = lstPaymentStep.ToArray(); lstPaymentType.Add(objPaymentLocationTypeRS); } } var intIdFormaPago = Constantes_Pedido.ID_FORMA_PAGO_SAFETYPAY_ONLINE; try { var objEnviarCorreo = new EnviarCorreo(); var datFechaActual = DateTime.Now; //var datFechaExpiraPago As Date var strExpirationDateTime = respond.ExpirationDateTime; var arrExp = strExpirationDateTime.Split('('); var datFechaExpiraPago = resultPedido.FechaExpiracion = datFechaActual.AddHours(pedido.TiempoExpiracionCIP ?? 0); resultPedido.CorreoEnviado = objEnviarCorreo.Enviar_SolicitudPagoServicioSafetyPay( pedido.IdUsuario.ToString(), Convert.ToInt32(pedido.IdWeb), Convert.ToInt32(pedido.IdLang), pedido.IdCotVta, pedido.Email, null, pedido.NombreClienteCot, pedido.ApellidoClienteCot, null, DtsUsuarioLogin.NomCompletoUsuario, DtsUsuarioLogin.EmailUsuario, (pedido.CodePasarelaPago == Constantes_SafetyPay.CodeSafetyPayOnline ? Constantes_Pedido.ID_FORMA_PAGO_SAFETYPAY_ONLINE : Convert.ToInt16(0)), objRptaPagoSafetyPay.TransaccionIdentifier, resultPedido.IdPedido, Convert.ToDouble(pedido.Monto), objRptaPagoSafetyPay.ExpirationDateTime, objRptaPagoSafetyPay.lstAmountType, lstPaymentType); } catch (Exception ex) { throw ex; } }
public IHttpActionResult Create(DatosPedido_NM pedido_NM) { Pedido_AW_Repository _pedidoRepository = new Pedido_AW_Repository(); Models.PedidoRS _resultpedido = new Models.PedidoRS(); UsuarioLogin DtsUsuarioLogin = null; var errorPedido = string.Empty; int intIdFormaPago = 0; bool _return = false; try { var pedido = pedido_NM.ToRetail(); // Conversión a Retail /*Validaciones*/ validacionPedido(ref pedido, ref _resultpedido, ref _return, ref DtsUsuarioLogin); if (_return == true) { return(Ok(_resultpedido)); } RepositoryByBusiness(pedido.UnidadNegocio.ID); /*Generamos el Pedido*/ var operation = _pedidoRepository.CreateNM(pedido); if (operation[Operation.Result].ToString() == ResultType.Success.ToString() && Convert.ToInt32(operation[OutParameter.IdPedido].ToString()) > 0) { _resultpedido.IdPedido = Convert.ToInt32(operation[OutParameter.IdPedido].ToString()); /*Solo debe quedar la validacion del pedido(Modificar al agregar un par de validaciones en el lugar correcto)*/ if (_resultpedido.IdPedido > 0 && string.IsNullOrEmpty(pedido_NM.IdOportunidad_SF) == false && string.IsNullOrEmpty(pedido_NM.IdSolicitudpago_SF) == false && string.IsNullOrEmpty(pedido_NM.Accion_SF) == false && pedido_NM.Accion_SF.ToUpper().Trim() == "INSERT") { _genCodigoPagoNMRepository.RegistraSolicitudPagoSF(pedido_NM.IdSolicitudpago_SF, pedido_NM.IdOportunidad_SF, _resultpedido.IdPedido); } else if (_resultpedido.IdPedido > 0 && string.IsNullOrEmpty(pedido_NM.IdOportunidad_SF) == false && string.IsNullOrEmpty(pedido_NM.IdSolicitudpago_SF) == false && string.IsNullOrEmpty(pedido_NM.Accion_SF) == false && pedido_NM.Accion_SF.ToUpper().Trim() == "UPDATE") { _genCodigoPagoNMRepository.UpdateSolicitudPagoSF(pedido_NM.IdSolicitudpago_SF, pedido_NM.IdOportunidad_SF, _resultpedido.IdPedido, Estados_Oportunidad.ID_ST_REGI_NO_ENVIO); } ///Actualizamos el campo solicitado por CRM SalesForce asociado al numero de pedido _pedidoRepository.Update_Pedido_SolicitudPago_SF(_resultpedido.IdPedido, pedido.IdCotVta, pedido.IdOportunidad_SF, pedido.IdSolicitudpago_SF); } else { _resultpedido.CodigoError = "ER"; _resultpedido.MensajeError = "GP - Error al intentar generar el pedido"; return(Ok(_resultpedido)); } /// SEGUN SEA EL METODO DE PAGO REALIZA DIFERENTE PROCESO if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_VISA) { intIdFormaPago = Constantes_FileRetail.INT_ID_FORMA_PAGO_SOLO_TARJETA; pedido.CodePasarelaPago = Constantes_MetodoDePago.CODE_FPAGO_TARJETA_VISA; } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD) { intIdFormaPago = Constantes_FileRetail.INT_ID_FORMA_PAGO_SOLO_TARJETA; pedido.CodePasarelaPago = Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD_CA; } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_DINERS) { intIdFormaPago = Constantes_FileRetail.INT_ID_FORMA_PAGO_SOLO_TARJETA; pedido.CodePasarelaPago = Constantes_MetodoDePago.CODE_FPAGO_TARJETA_DINERS; } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_AMERICANEX) { intIdFormaPago = Constantes_FileRetail.INT_ID_FORMA_PAGO_SOLO_TARJETA; pedido.CodePasarelaPago = Constantes_MetodoDePago.CODE_FPAGO_TARJETA_AMERICANEX; } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_PAGOEFECTIVO) { GenerarPedido_Pago_Efectivo(pedido, _resultpedido, DtsUsuarioLogin); } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_ONLINE) { GenerarPedido_Safetypay_Online(pedido, _resultpedido, DtsUsuarioLogin); } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_CASH) { intIdFormaPago = Constantes_Pedido.ID_FORMA_PAGO_SAFETYPAY_CASH; GenerarPedido_Safetypay_Cash(pedido, _resultpedido, DtsUsuarioLogin); pedido.CodePasarelaPago = "";// Para este caso se setea a vacio ya que el procedimiento siguiente solo acepta valores de tarjetas VI, MC, DN, AX } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_SAFETYPAY_INTERN) { GenerarPedido_Safetypay_Internacional(pedido, _resultpedido, DtsUsuarioLogin); } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_TARJETA_UATP) { } else if (pedido.CodePasarelaPago == Constantes_MetodoDePago.CODE_FPAGO_INDEPENDENCIA) { GenerarPedido_Independencia(pedido, _resultpedido, DtsUsuarioLogin); } #region LinkPago if ((new List <string>() { Constantes_MetodoDePago.CODE_FPAGO_TARJETA_VISA, Constantes_MetodoDePago.CODE_FPAGO_TARJETA_MASTERCARD, Constantes_MetodoDePago.CODE_FPAGO_TARJETA_AMERICANEX, Constantes_MetodoDePago.CODE_FPAGO_TARJETA_DINERS }).Contains(pedido.CodePasarelaPago)) { _resultpedido.LinkPago = ObtieneLinkPago(pedido.IdWeb ?? 0, _resultpedido.IdPedido, pedido.IdCotVta); } else { _resultpedido.LinkPago = string.Empty; } #endregion /*Inserta Forma de Pedido General para todos las metodos de pago*/ _pedidoRepository.InsertFormaPagoPedidoNM(pedido, _resultpedido, intIdFormaPago); if (pedido.TiempoExpiracionCIP != null || pedido.TiempoExpiracionCIP > 0) { _pedidoRepository.Update_FechaExpira_PedidoNM(pedido, _resultpedido); } ///Aca deberia estar una validacion de Fee implementar si es el caso /*Insertamos el POST en el SRV*/ string strTextoPost = "<span class='texto_cambio_estado'>Cambio de estado a <strong>Pendiente de Pago</strong></span><br><br>" + "La pasarela de pago ha actualizado el estado de su cotización."; ICotizacionSRV_Repository _CotizacionSRV = new CotizacionSRV_AW_Repository(pedido.UnidadNegocio.ID); Post_SRV _PostSRV_RQ = new Post_SRV() { IdCot = pedido.IdCotVta, TipoPost = Convert.ToInt16(Constantes_SRV.ID_TIPO_POST_SRV_USUARIO), TextoPost = strTextoPost, IPUsuCrea = (string.IsNullOrEmpty(pedido.IPUsuario) ? "127.0.0.0" : pedido.IPUsuario), LoginUsuCrea = DtsUsuarioLogin.LoginUsuario, IdUsuWeb = DtsUsuarioLogin.IdUsuario, IdDep = DtsUsuarioLogin.IdDep, IdOfi = DtsUsuarioLogin.IdOfi, Archivos = null, LstFilesPTA = null, IdEstado = Constantes_SRV.ID_ESTADO_COT_PENDIENTE_PAGO, CambioEstado = true, LstFechasCotVta = null, EsAutomatico = true, ArchivoMail = null, EsCounterAdmin = false, IdUsuWebCounterCrea = null, IdOfiCounterCrea = null, IdDepCounterCrea = null, EsUrgenteEmision = null, FecPlazoEmision = null, IdMotivoNoCompro = null, OtroMotivoNoCompro = null, MontoEstimadoFile = null }; _CotizacionSRV.ProcesosPostCotizacion(_PostSRV_RQ); _resultpedido.CodigoError = "OK"; _resultpedido.MensajeError = "El proceso se realizó exitosamente"; return(Ok(_resultpedido)); } catch (Exception ex) { errorPedido = ex.Message; _resultpedido.CodigoError = "ER"; _resultpedido.MensajeError = ex.Message; return(Ok(_resultpedido)); } finally { (new { Request = pedido_NM, Response = _resultpedido, Exception = errorPedido }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
// Método de Pago: SC private void GenerarPedido_Safetypay_Cash(DatosPedido pedido, Models.PedidoRS resultPedido, UsuarioLogin DtsUsuarioLogin) { Pedido_AW_Repository _pedidoRepository = new Pedido_AW_Repository(); var errorPedido = string.Empty; /*Generamos el codigo en SafetyPay*/ ws_compra.ws_compra Ws_Compra = new ws_compra.ws_compra(); CustomCashPaymentRequestType requestCash = new CustomCashPaymentRequestType(); ws_compra.AmountType objAmountType = new ws_compra.AmountType(); objAmountType.CurrencyID = "150"; /*Valor del dolar para SafetyPay*/ objAmountType.Value = Convert.ToDecimal(pedido.Monto); requestCash.BankID = String.Empty; requestCash.IncludeAllBanks = true; requestCash.TransactionIdentifier = String.Empty; requestCash.MerchantAccount = String.Empty; requestCash.MerchantSalesID = resultPedido.IdPedido.ToString(); requestCash.TrackingCode = ""; requestCash.ExpirationTime = (Convert.ToInt16(pedido.TiempoExpiracionCIP) * 60); requestCash.ExpirationTimeSpecified = true; requestCash.Language = (pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "PE" : "ES"); requestCash.CountryID = "PER"; requestCash.Amount = objAmountType; requestCash.SendEmailToShopper = true; if (requestCash.SendEmailToShopper) { requestCash.CustomerInformation_Value = DtsUsuarioLogin.EmailUsuario; } requestCash.CustomMerchantName = (pedido.IdWeb == Webs_Cid.DM_WEB_ID ? "Destinos Mundiales Perú" : "NMVIAJES"); requestCash.ApplicationID = Convert.ToInt16(pedido.IdWeb); ws_compra.RptaPagoSafetyPay response = new ws_compra.RptaPagoSafetyPay(); if (pedido.IdWeb == Webs_Cid.DM_WEB_ID) { requestCash.WebId = Convert.ToString(pedido.IdWeb); response = Ws_Compra.GenerarPago_SafetyPay_Cash_DM(requestCash); } else { requestCash.IdDepartamento = DtsUsuarioLogin.IdDep; requestCash.IdOficina = DtsUsuarioLogin.IdOfi; response = Ws_Compra.GenerarPago_SafetyPay_Cash(requestCash); } if (response.OperationId != null && response.TransaccionIdentifier != null) { resultPedido.CodigoOperacion = response.OperationId; resultPedido.CodigoTransaction = response.TransaccionIdentifier; resultPedido.CodigoError = "OK"; resultPedido.MensajeError = "Se generó el código de pedido."; } else { resultPedido.CodigoError = "ER"; resultPedido.MensajeError = "GP - Error al intentar generar el CIP"; //return Ok(resultPedido); } Models.RptaPagoSafetyPay RptaPagoSafetyPayBD = _pedidoRepository.Get_Rpta_SagetyPay(resultPedido.IdPedido); List <Models.PaymentLocationType> lstPaymentType = new List <Models.PaymentLocationType>(); if (response.lst_PaymentLocationType != null) { List <Models.PaymentStepType> lstPaymentStep = new List <Models.PaymentStepType>(); List <Models.PaymentInstructionType> lstPaymentInstructions = new List <Models.PaymentInstructionType>(); foreach (ws_compra.PaymentLocationType objPaymentLocationTypeRSTmp in response.lst_PaymentLocationType) { Models.PaymentLocationType objPaymentLocationTypeRS = new Models.PaymentLocationType(); objPaymentLocationTypeRS.Id = objPaymentLocationTypeRSTmp.ID; foreach (ws_compra.PaymentStepType objPaymentStepRSTmp in objPaymentLocationTypeRSTmp.lst_PaymentStepType) { Models.PaymentStepType objPaymentStepRS = new Models.PaymentStepType(); objPaymentStepRS.Step = objPaymentStepRSTmp.Step; objPaymentStepRS.StepSpecified = objPaymentStepRSTmp.StepSpecified; objPaymentStepRS.Value = objPaymentStepRSTmp.Value; lstPaymentStep.Add(objPaymentStepRS); } if (objPaymentLocationTypeRSTmp.PaymentInstructions != null) { foreach (ws_compra.PaymentInstructionType objPaymentInstructionTypeRSTmp in objPaymentLocationTypeRSTmp.PaymentInstructions) { Models.PaymentInstructionType objPaymentInstructionsRS = new Models.PaymentInstructionType(); objPaymentInstructionsRS.Name = objPaymentInstructionTypeRSTmp.Name; objPaymentInstructionsRS.Value = objPaymentInstructionTypeRSTmp.Value; lstPaymentInstructions.Add(objPaymentInstructionsRS); } } objPaymentLocationTypeRS.lstPaymentStepType = lstPaymentStep; objPaymentLocationTypeRS.Name = objPaymentLocationTypeRSTmp.Name; objPaymentLocationTypeRS.PaymentInstructions = lstPaymentInstructions.ToArray(); objPaymentLocationTypeRS.PaymentSteps = lstPaymentStep.ToArray(); lstPaymentType.Add(objPaymentLocationTypeRS); } } /*Realizamos el envio del correo*/ try { IEnviarCorreo objEnviarCorreo = new EnviarCorreo(pedido.UnidadNegocio.ID); DateTime datFechaActual = DateTime.Now; DateTime datFechaExpiraPago; string strExpirationDateTime = response.ExpirationDateTime; string[] arrExp = strExpirationDateTime.Split('('); datFechaExpiraPago = datFechaActual.AddHours(Convert.ToInt16(pedido.TiempoExpiracionCIP)); resultPedido.CorreoEnviado = objEnviarCorreo.Enviar_SolicitudPagoServicioSafetyPay( pedido.IdUsuario.ToString(), Convert.ToInt32(pedido.IdWeb), Convert.ToInt32(pedido.IdLang), pedido.IdCotVta, pedido.Email, null, pedido.NombreClienteCot, pedido.ApellidoClienteCot, null, DtsUsuarioLogin.NomCompletoUsuario, DtsUsuarioLogin.EmailUsuario, (pedido.CodePasarelaPago == Constantes_SafetyPay.CodeSafetyPayCash ? Constantes_Pedido.ID_FORMA_PAGO_SAFETYPAY_CASH : Convert.ToInt16(0)), RptaPagoSafetyPayBD.TransaccionIdentifier, resultPedido.IdPedido, Convert.ToDouble(pedido.Monto), RptaPagoSafetyPayBD.ExpirationDateTime, RptaPagoSafetyPayBD.lstAmountType, lstPaymentType); objEnviarCorreo = null; } catch (Exception ex) { errorPedido = "Error al enviar el correo |" + ex.Message; /*return InternalServerError(ex);*/ } }
private void valCreateOportunidadNM(ref OportunidadVentaNM _oportunidadVentaNM, ref RptaOportunidadVentaNM _rptaOportunidadVentaNM, ref UsuarioLogin UserLogin, ref CotizacionVta CotizacionVta) { string mensajeError = string.Empty; Dictionary <string, string> TipoDocumentos = new Dictionary <string, string>() { { "DNI", "DNI" }, { "CEX", "CARNÉ DE EXTRANJERÍA" }, { "PSP", "PASAPORTE" } }; if (_oportunidadVentaNM == null) { cargarError(ref _rptaOportunidadVentaNM, "Envie correctamente los parametros de entrada - RQ Nulo|"); return; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Accion_SF)) { mensajeError += "La accion es un campo obligatorio|"; } else if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && _oportunidadVentaNM.IdCotSRV == null) { mensajeError += "El Id de Cotizacion es obligatorio al actualizar|"; } else if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "INSERT" && _oportunidadVentaNM.IdCotSRV != null) { mensajeError += "Al insertar el Id de Cotizacion debe ser nulo|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.idCuenta_SF)) { mensajeError += "La cuenta SF es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.IdOportunidad_SF)) { mensajeError += "La oportunidad SF es un campo obligatorio|"; } if (_oportunidadVentaNM.IdCanalVenta <= 0) { mensajeError += "Envie un canal de venta correcto|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.NombreCli)) { mensajeError += "El nombre del cliente es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.ApePatCli)) { mensajeError += "El apellido paterno del cliente es un campo obligatorio|"; } if (!(string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false && string.IsNullOrEmpty(_oportunidadVentaNM.NumDoc) == false && TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper()))) { if (string.IsNullOrEmpty(_oportunidadVentaNM.EmailCli)) { mensajeError += "El correo del cliente es un campo obligatorio|"; } } else if (string.IsNullOrEmpty(_oportunidadVentaNM.EmailCli)) { if (!(string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false && string.IsNullOrEmpty(_oportunidadVentaNM.NumDoc) == false && TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper()))) { mensajeError += "El tipo y número de documento del cliente es un campo obligatorio|"; } } if (string.IsNullOrEmpty(_oportunidadVentaNM.IdTipoDoc) == false) { if (TipoDocumentos.Values.Contains(_oportunidadVentaNM.IdTipoDoc.Trim().ToUpper())) { string NameTipoDoc = _oportunidadVentaNM.IdTipoDoc.Trim().ToUpper(); _oportunidadVentaNM.IdTipoDoc = TipoDocumentos.Where(p => p.Value == NameTipoDoc).FirstOrDefault().Key; } else { mensajeError += "El tipo de documento no es un valor soportado|"; } } if (string.IsNullOrEmpty(_oportunidadVentaNM.CiudadIata)) { mensajeError += "La Ciudad Iata es un campo obligatorio|"; } //if (string.IsNullOrEmpty(_oportunidadVentaNM.IdDestino)) //{ // mensajeError += "Los destinos principales es un campo obligatorio|"; //} if (string.IsNullOrEmpty(_oportunidadVentaNM.EnviarPromociones)) { mensajeError += "La opcion de envio de promociones es un campo obligatorio 0 - 1|"; } if (_oportunidadVentaNM.IdUsuarioSrv_SF <= 0) { mensajeError += "Envie un ID de usuario SRV valido|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Comentario)) { mensajeError += "El comentario es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.Estado)) { mensajeError += "El estado es un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.ServiciosAdicionales)) { mensajeError += "Los Servicios Adicionales son un campo obligatorio|"; } if (string.IsNullOrEmpty(_oportunidadVentaNM.tipoCotizacion)) { mensajeError += "El tipo de cotizacion es un campo obligatorio|"; } if (_oportunidadVentaNM.ModoIngreso <= 0) { mensajeError += "Envie un Modo de Ingreso valido|"; } if (_oportunidadVentaNM.CantidadAdultos <= 0) { mensajeError += "La cantidad de adultos es un campo obligatorio|"; } if (_oportunidadVentaNM.CantidadNinos == null) { _oportunidadVentaNM.CantidadNinos = 0; } /*Validacion en caso envien informacion*/ if (_oportunidadVentaNM.FechaIngreso != null && _oportunidadVentaNM.FechaIngreso < DateTime.Now) { mensajeError += "La fecha de salida debe ser mayor a la fecha actual|"; } else if (_oportunidadVentaNM.FechaIngreso != null & _oportunidadVentaNM.Fecharegreso != null) { if (_oportunidadVentaNM.FechaIngreso > _oportunidadVentaNM.Fecharegreso) { mensajeError += "La fecha de regreso debe ser mayor a la fecha de salida|"; } } if (string.IsNullOrEmpty(mensajeError)) { /*Cargamos Datos del Usuario*/ RepositoryByBusiness(null); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(_oportunidadVentaNM.IdUsuarioSrv_SF); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } else if (UserLogin.IdUsuario != _oportunidadVentaNM.IdUsuarioSrv_SF) { _oportunidadVentaNM.IdUsuarioSrv_SF = UserLogin.IdUsuario; } _oportunidadVentaNM.idEstado = (short)_oportunidadVentaNMRepository._Select_EstadoIdXName(_oportunidadVentaNM.Estado); if (_oportunidadVentaNM.idEstado <= 0) { mensajeError += "Envie un estado valido|"; } /*Validacion Oportunidad*/ int intCotizacion_SF = _oportunidadVentaNMRepository._Select_CotId_X_OportunidadSF(_oportunidadVentaNM.IdOportunidad_SF); if (intCotizacion_SF <= 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE") { mensajeError += "No es posible actualizar si la oportunidad no esta registrada|"; } else if (intCotizacion_SF > 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "INSERT") { mensajeError += "No es posible insertar si la oportunidad ya esta registrada|"; } else if (intCotizacion_SF > 0 && _oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && intCotizacion_SF != _oportunidadVentaNM.IdCotSRV) { mensajeError += "La cotizacion enviada es diferente a la registrada|"; } else { /*Adicionalmente si envian el id de un counter administrativo y este no existe modificar por el counter por defecto*/ if (_oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" && _oportunidadVentaNM.counterAsignado != null && _oportunidadVentaNM.counterAsignado > 0) { UsuarioLogin UserLoginCA = _datosUsuario.Get_Dts_Usuario_Personal_NM((Int32)_oportunidadVentaNM.counterAsignado); if (UserLoginCA != null && UserLoginCA.IdUsuario != _oportunidadVentaNM.counterAsignado) { _oportunidadVentaNM.counterAsignado = UserLoginCA.IdUsuario; } } } if (_oportunidadVentaNM.IdCotSRV != null && string.IsNullOrEmpty(mensajeError)) { CotizacionVta = _cotizacionSRV_Repository.Get_Datos_CotizacionVta((int)_oportunidadVentaNM.IdCotSRV); if (CotizacionVta == null || CotizacionVta.IdCot == 0) { cargarError(ref _rptaOportunidadVentaNM, "No existe informacion de la cotizacion enviada|"); return; } /*Validaciones Valores Opcionales*/ if (_oportunidadVentaNM.idEstado != CotizacionVta.IdEstado) { if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA || _oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Facturado) { if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Facturado) { if (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM | UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS) { if (!(_oportunidadVentaNM.ModalidadCompra != null && (_oportunidadVentaNM.ModalidadCompra == 0 || _oportunidadVentaNM.ModalidadCompra == 1))) { cargarError(ref _rptaOportunidadVentaNM, "Debe enviar la modalidad de compra|"); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA && (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM | UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_TRAVEL_STORE | UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS)) { if (_oportunidadVentaNM.fechaPlazoEmision == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe enviar la fecha y hora de emisión|"); return; } } List <int> lstPedidosSinBanco = _oportunidadVentaNMRepository._Select_Pedidos_SinBancoBy_IdCot((int)_oportunidadVentaNM.IdCotSRV); if (lstPedidosSinBanco.Count > 0) { if (lstPedidosSinBanco.Count == 1) { cargarError(ref _rptaOportunidadVentaNM, ("Para cambiar a este estado debe registrar la entidad bancaria en el pedido nro. " + lstPedidosSinBanco[0])); return; } else { string strNrosPedido = ""; foreach (int intIdPedido in lstPedidosSinBanco) { strNrosPedido += intIdPedido + ", "; } strNrosPedido += "."; strNrosPedido = strNrosPedido.Replace(", .", "."); cargarError(ref _rptaOportunidadVentaNM, ("Para cambiar a este estado debe registrar la entidad bancaria en los sgtes. pedidos: " + strNrosPedido)); return; } } if (CotizacionVta.IdReservaVuelos == null && (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA || _oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA_Paq)) { if (string.IsNullOrEmpty(_oportunidadVentaNM.CodReserva)) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el código de reserva de vuelo."); return; } else if (_oportunidadVentaNM.MontoCompra == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el monto de la venta."); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.NoCompro) { if (string.IsNullOrEmpty(_oportunidadVentaNM.IdMotivoNoCompro)) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el motivo del cierre perdido."); return; } else if (ValidateProcess.isInt32(_oportunidadVentaNM.IdMotivoNoCompro) == false) { cargarError(ref _rptaOportunidadVentaNM, "Envie un motivo correcto de cierre perdido."); return; } } } if (_oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Cotizado) { if (_oportunidadVentaNMRepository._EsCounterAdministratiivo(UserLogin.IdOfi)) { if (_oportunidadVentaNM.MontoEstimado == null) { cargarError(ref _rptaOportunidadVentaNM, "Debe ingresar el monto estimado del file."); return; } } } /*Validacion : Asignarse - Emitido*/ bool Asignar = false, Emitir = false;; _oportunidadVentaNM.Asignarse = ((_oportunidadVentaNM.counterAsignado != null && _oportunidadVentaNM.counterAsignado > 0) ? true : false); /*El codigo si permite la reasignacion pero el store procedure no.*/ if (_oportunidadVentaNM.Asignarse == true || _oportunidadVentaNM.Emitido == true) { if (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM || (UserLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMV && UserLogin.IdDep == Constantes_SRV.INT_ID_DEP_EMERGENCIAS) || UserLogin.EsSupervisorSRV) { if (_oportunidadVentaNM.Asignarse == true) { if (CotizacionVta.IdUsuWebCA.HasValue) { if (_oportunidadVentaNM.counterAsignado == CotizacionVta.IdUsuWebCA.Value) { Asignar = false; } else { Asignar = true; } } else { Asignar = true; } } if (_oportunidadVentaNM.Emitido == true && (!CotizacionVta.EsEmitido)) { Emitir = true; } } else if (UserLogin.EsCounterAdminSRV) { if (_oportunidadVentaNMRepository._EsCounterAdministratiivo(CotizacionVta.IdOfi) && _oportunidadVentaNMRepository._EsCounterAdministratiivo(UserLogin.IdOfi)) { if (_oportunidadVentaNM.Asignarse == true) { if (CotizacionVta.IdUsuWebCA.HasValue) { if (_oportunidadVentaNM.counterAsignado == CotizacionVta.IdUsuWebCA.Value) { Asignar = false; } else { Asignar = true; } } else { Asignar = true; } } } } /*Validacion Asignarse (Actualizamos la Asignacion)*/ _oportunidadVentaNM.Asignarse = Asignar; /*Validacion Emitido (Actualizamos el p_Emitido)*/ _oportunidadVentaNM.Emitido = Emitir; } } } if (string.IsNullOrEmpty(mensajeError) == false) { _rptaOportunidadVentaNM.codigo = "ER"; _rptaOportunidadVentaNM.mensaje = "VA: " + mensajeError; } }
public async Task Invoke(HttpContext context) { try { var apiKey = ((FrameRequestHeaders)context.Request.Headers).HeaderAuthorization; var apiHttpClient = new ApiHttpClient(apiKey, "http://localhost:61000/", _httpClient); var userIsAuthenticated = context.User.Identity.IsAuthenticated; var req = context.Request; string bodyContent; var queryString = req.QueryString.ToString(); // Allows using several time the stream in ASP.Net Core req.EnableRewind(); using (StreamReader reader = new StreamReader(req.Body, Encoding.UTF8, true, 1024, true)) { bodyContent = reader.ReadToEnd(); } // Rewind, so the core is not lost when it looks the body for the request req.Body.Position = 0; UsuarioLogin usuarioLogin = null; if (userIsAuthenticated) { usuarioLogin = new UsuarioLogin { Nome = context.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value, Email = context.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email)?.Value, AuthTime = Convert.ToDateTime(context.User.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.AuthTime)?.Value, CultureInfo.InvariantCulture) }; } var caminhoRequest = context.Request.Path; var registroAuditoria = new RegistroAuditoria { IsAuthenticated = userIsAuthenticated, Usuario = usuarioLogin, BodyContent = bodyContent, CaminhoRequest = caminhoRequest, QueryString = queryString }; var resposta = await apiHttpClient.HttpClient.PostAsync("v1/private/auditoria", JsonConvert.SerializeObject(registroAuditoria)); await _next.Invoke(context); } catch (Exception) { await _next.Invoke(context); } // Clean up. }
public IHttpActionResult Create(OportunidadVentaNM oportunidadVentaNM) { string exMessage = string.Empty; object objRespuesta = null; int? idCotizacion = 0; RptaOportunidadVentaNM rptaOportunidadVentaNM = new RptaOportunidadVentaNM(); _repository = new OportunidadRetailRepository(); try { int?intIdCliCot = null; List <ClienteCot> ListClientes = null; ClienteCot Cliente_Cot = null; CotizacionVta DtsCotizacionVta = null; UsuarioLogin usuarioLogin = null; DateTime _fechaIgnoredTriggerCuenta = Convert.ToDateTime(ConfigurationManager.AppSettings["DATO_IGNORED_TRIGGER_CUENTA"]); valCreateOportunidadNM(ref oportunidadVentaNM, ref rptaOportunidadVentaNM, ref usuarioLogin, ref DtsCotizacionVta); if (string.IsNullOrEmpty(rptaOportunidadVentaNM.codigo) == false) { return(Ok(new { respuesta = rptaOportunidadVentaNM })); } //int intIdUsuWeb = oportunidadVentaNM.UsuarioCrea; int intIdDep = usuarioLogin.IdDep; int intIdOfi = usuarioLogin.IdOfi; string strIPUsuario = "127.0.0.0"; string strTextoPost = string.Empty; bool bolCambioEstado = false, bolEsUrgenteEmision = false; DateTime?datFechaPlazoEmision = null; #region ProcesoClientes Cliente_Cot = (ClienteCot)_oportunidadVentaNMRepository.SelectByCodeSF(oportunidadVentaNM.idCuenta_SF)["pCurResult_out"]; if (!(Cliente_Cot != null)) { if (string.IsNullOrEmpty(oportunidadVentaNM.IdTipoDoc) == false && string.IsNullOrEmpty(oportunidadVentaNM.NumDoc) == false) { ListClientes = (List <ClienteCot>)_repository.SelectByDocumento(oportunidadVentaNM.IdTipoDoc, oportunidadVentaNM.NumDoc)["pCurResult_out"]; } else { ListClientes = (List <ClienteCot>)_repository.SelectByEmail(oportunidadVentaNM.EmailCli)["pCurResult_out"]; } if (ListClientes != null && ListClientes.Count > 0) { Cliente_Cot = ListClientes[0]; } } if (Cliente_Cot != null) { intIdCliCot = Cliente_Cot.IdCliCot; /*Update*/ _oportunidadVentaNMRepository._Update((int)intIdCliCot, oportunidadVentaNM.NombreCli, oportunidadVentaNM.ApePatCli, oportunidadVentaNM.ApeMatCli, oportunidadVentaNM.EmailCli, Cliente_Cot.EmailAlterCliCot, null, oportunidadVentaNM.EnviarPromociones.Equals("1"), Cliente_Cot.Direccion, oportunidadVentaNM.NumDoc, oportunidadVentaNM.IdTipoDoc, oportunidadVentaNM.IdUsuarioSrv_SF, Webs_Cid.ID_WEB_WEBFAREFINDER, null, _fechaIgnoredTriggerCuenta); bool valor = _oportunidadVentaNMRepository._Update_Estado_Promociones((int)intIdCliCot, oportunidadVentaNM.EnviarPromociones); if (Cliente_Cot.RecibePromo == false & oportunidadVentaNM.EnviarPromociones.Equals("1")) { // Antes no estaba suscrito NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_NMV, true); if ((intIdOfi == Constantes_SRV.INT_ID_OFI_CORPORATIVO_VACACIONAL & intIdDep == Constantes_SRV.INT_ID_DEP_COUNTER) | (intIdOfi == Constantes_SRV.INT_ID_OFI_NMV & intIdDep == Constantes_SRV.INT_ID_DEP_COUNTER)) { NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_CORPORATIVO_VACACIONAL, true); } else if (intIdOfi == Constantes_SRV.INT_ID_OFI_CALL_CENTER) { NMMail.Mail_AgregaEmailListaBoletinNMV(163, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_RIPLEY, true); } } else if (Cliente_Cot.RecibePromo == true & !oportunidadVentaNM.EnviarPromociones.Equals("1")) { // Estaba suscrito y ahora ya no lo va a estar NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_NMV, false); if (intIdOfi == Constantes_SRV.INT_ID_OFI_CORPORATIVO_VACACIONAL & intIdDep == Constantes_SRV.INT_ID_DEP_COUNTER) { NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_CORPORATIVO_VACACIONAL, false); } else if (intIdOfi == Constantes_SRV.INT_ID_OFI_CALL_CENTER) { NMMail.Mail_AgregaEmailListaBoletinNMV(163, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_RIPLEY, false); } } } else { /*Insert*/ intIdCliCot = (int)_repository.InsertaClienteCotizacion(oportunidadVentaNM.NombreCli, oportunidadVentaNM.ApePatCli, oportunidadVentaNM.ApeMatCli, oportunidadVentaNM.EmailCli, null, null, oportunidadVentaNM.EnviarPromociones.Equals("1"), null, oportunidadVentaNM.NumDoc, oportunidadVentaNM.IdTipoDoc, oportunidadVentaNM.IdUsuarioSrv_SF, Webs_Cid.ID_WEB_WEBFAREFINDER, null, false, null, _fechaIgnoredTriggerCuenta)["pNumIdNewCliCot_out"]; if (intIdCliCot != null && intIdCliCot > 0) { _oportunidadVentaNMRepository.RegistraCuenta(oportunidadVentaNM.idCuenta_SF, (int)intIdCliCot); } /*START INSERT PAX PTA (Consultar si lo sacamos)*/ //try //{ // string PrimerNombre = string.Empty; // string SegundoNombre = string.Empty; // if (oportunidadVentaNM.NombreCli.Split(' ').Length > 0) // PrimerNombre = oportunidadVentaNM.NombreCli.Split(' ')[0]; // if (oportunidadVentaNM.NombreCli.Split(' ').Length > 1) // { // SegundoNombre = oportunidadVentaNM.NombreCli.Split(' ')[1]; // if (oportunidadVentaNM.NombreCli.Split(' ').Length > 2) // SegundoNombre += " " + oportunidadVentaNM.NombreCli.Split(' ')[2]; // } // ws_pax_paxdoc InsertClienteNM = new ws_pax_paxdoc(); // ws_pax_aux.ws_pax_paxdoc.r_message[] respond = InsertClienteNM.prc_web_insert_pax(oportunidadVentaNM.IdTipoDoc, oportunidadVentaNM.NumDoc, // oportunidadVentaNM.ApePatCli, oportunidadVentaNM.ApeMatCli, PrimerNombre, SegundoNombre, string.Empty, oportunidadVentaNM.EmailCli, string.Empty, string.Empty, string.Empty, string.Empty, usuarioLogin.LoginUsuario); //} //catch (Exception ex) //{ // NMailAlerta oNMailAlerta = new NMailAlerta(); // oNMailAlerta.EnvioCorreoRegistrarError("Error de " + Constantes_SRV.APP_NAME, this, ex, strIPUsuario + "|btnGrabarCli_ServerClick"); // oNMailAlerta = null; //} /*END INSERT PAX PTA*/ if (oportunidadVentaNM.EnviarPromociones.Equals("1")) { if ((intIdOfi == Constantes_SRV.INT_ID_OFI_CORPORATIVO_VACACIONAL & intIdDep == Constantes_SRV.INT_ID_DEP_COUNTER)) { NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_CORPORATIVO_VACACIONAL, true); } NMMail.Mail_AgregaEmailListaBoletinNMV(7, 1, (oportunidadVentaNM.NombreCli + " " + oportunidadVentaNM.ApePatCli).ReplaceSpecialChars(), oportunidadVentaNM.EmailCli, Constantes_Mail.EMAIL_BOLETIN_NMV, true); } } #endregion #region ProcesoCotizacion if (oportunidadVentaNM.IdCotSRV == null) { /*Creamos la Cotizacion*/ if (usuarioLogin.IdUsuario == 1813) { intIdDep = 30; intIdOfi = 23; } idCotizacion = _oportunidadVentaNMRepository.Inserta_Cot_Vta(oportunidadVentaNM.ModoIngreso, oportunidadVentaNM.Comentario, usuarioLogin.NomCompletoUsuario, usuarioLogin.LoginUsuario, strIPUsuario, (int)intIdCliCot, usuarioLogin.IdUsuario, intIdDep, intIdOfi, Webs_Cid.ID_WEB_WEBFAREFINDER, Lang_Cid.IdLangSpa, oportunidadVentaNM.IdCanalVenta, oportunidadVentaNM.ServiciosAdicionales.Split(';'), oportunidadVentaNM.CiudadIata, null, 0, oportunidadVentaNM.IdDestino, oportunidadVentaNM.FechaIngreso, oportunidadVentaNM.Fecharegreso, oportunidadVentaNM.CantidadAdultos, oportunidadVentaNM.CantidadNinos, string.Empty, null, null, null, null, null, null, null, null, string.Empty, null); if (idCotizacion != null && idCotizacion > 0) { /*_repository.RegistraOportunidad(oportunidadVentaNM.IdOportunidad_SF, (int)idCotizacion);*/ _oportunidadVentaNMRepository.RegistraOportunidad(oportunidadVentaNM.IdOportunidad_SF, (int)idCotizacion); } /*DtsCotizacionVta = _cotizacionSRV_Repository.Get_Datos_CotizacionVta((int)idCotizacion);*/ } else { idCotizacion = oportunidadVentaNM.IdCotSRV; short?IdMotivoCierrePerdido = null; /**Cambios de Estado**/ if (oportunidadVentaNM.idEstado != DtsCotizacionVta.IdEstado) { bolCambioEstado = true; if (oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.NoCompro) { IdMotivoCierrePerdido = Convert.ToInt16(oportunidadVentaNM.IdMotivoNoCompro); //strTextoPost = "<span class='texto_cambio_estado'>Cambio de estado a <strong>No Compro</strong></span>"; } } if (oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA || oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA_Paq) { bolEsUrgenteEmision = true; datFechaPlazoEmision = oportunidadVentaNM.fechaPlazoEmision; //Convert.ToDateTime(DateTime.Now.ToShortDateString() + " " + oportunidadVentaNM.HoraEmision + ":00"); //strTextoPost = "<span class='texto_cambio_estado'>EMISIÓN ANTES DE: " + string.Format("dd/MM/yyyy HH:mm", datFechaPlazoEmision) + "</span><br>"; } /*Es Emitido*/ if (oportunidadVentaNM.Emitido == true) { _cotizacionSRV_Repository._Update_EsEmitido((int)oportunidadVentaNM.IdCotSRV, true); } /*Validar las validaciones a considerar*/ /*if (usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM || (usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMV && usuarioLogin.IdDep == Constantes_SRV.INT_ID_DEP_EMERGENCIAS) || usuarioLogin.EsSupervisorSRV) * { * if ((!DtsCotizacionVta.EsEmitido) && oportunidadVentaNM.Emitido != null && oportunidadVentaNM.Emitido == true) * { * _cotizacionSRV_Repository._Update_EsEmitido((int)oportunidadVentaNM.IdCotSRV, true); * } * }*/ /*Asignarse*/ if (oportunidadVentaNM.Asignarse == true) { bool bolAsignado = _cotizacionSRV_Repository._Update_CounterAdministrativo((int)oportunidadVentaNM.IdCotSRV, oportunidadVentaNM.counterAsignado); //messageOK = (bolAsignado == false ? "La cotización ya ha sido asignado a un counter administrativo." : messageOK); } /*Requiere Firma Cliente (Consultar validacion de Pedidos - Del lado de SF?)*/ if (oportunidadVentaNM.RequiereFirmaCliente != null) { _cotizacionSRV_Repository._Update_Requiere_FirmaCliente_Cot((int)oportunidadVentaNM.IdCotSRV, (bool)oportunidadVentaNM.RequiereFirmaCliente); } /*Insertamos el Post*/ _cotizacionSRV_Repository.Inserta_Post_Cot(DtsCotizacionVta.IdCot, Constantes_SRV.ID_TIPO_POST_SRV_USUARIO, strTextoPost, strIPUsuario, usuarioLogin.LoginUsuario, usuarioLogin.IdUsuario, usuarioLogin.IdDep, usuarioLogin.IdOfi, null, null, oportunidadVentaNM.idEstado, bolCambioEstado, null, false, null, usuarioLogin.EsCounterAdminSRV, (usuarioLogin.EsCounterAdminSRV == true ? DtsCotizacionVta.IdUsuWeb : usuarioLogin.IdUsuario), (usuarioLogin.EsCounterAdminSRV == true ? DtsCotizacionVta.IdOfi : usuarioLogin.IdOfi), (usuarioLogin.EsCounterAdminSRV == true ? DtsCotizacionVta.IdDep : usuarioLogin.IdDep), bolEsUrgenteEmision, datFechaPlazoEmision, IdMotivoCierrePerdido, null, oportunidadVentaNM.MontoEstimado, 0); /*Notas: En caso soliciten habilitar el Post, para el valor Emitido la estructura del Post es diferente, habria que hacer unas condicionales adicionales*/ /*Notas: En caso soliciten habilitar el Post, para la AutoAsignacion la estructura del Post es diferente, habria que hacer unas condicionales adicionales*/ /*Actualizamos el estado de la oportunidad*/ _oportunidadVentaNMRepository.UpdateOportunidad(oportunidadVentaNM.IdOportunidad_SF, (int)idCotizacion, Estados_Oportunidad.ID_ST_REGI_NO_ENVIO); /*Modalidad de Compra*/ if (oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.Facturado && (usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM || usuarioLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS || _oportunidadVentaNMRepository._EsCounterAdministratiivo(usuarioLogin.IdOfi))) //, usuarioLogin.IdDep, false)) { _cotizacionSRV_Repository._Update_ModalidadCompra(DtsCotizacionVta.IdCot, (short)oportunidadVentaNM.ModalidadCompra); } if (usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMVCOM | usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_TRAVEL_STORE | usuarioLogin.IdDep == Constantes_SRV.INT_ID_DEP_SISTEMAS | usuarioLogin.IdOfi == Constantes_SRV.INT_ID_OFI_NMV | usuarioLogin.IdOfi == 116) { if (oportunidadVentaNM.MontoCompra != null && oportunidadVentaNM.idEstado == (short)ENUM_ESTADOS_COT_VTA.DerivadoCA && DtsCotizacionVta.IdReservaVuelos == null) { _oportunidadVentaNMRepository._Update_DatosReservaVuelo_Manual_Cot(DtsCotizacionVta.IdCot, oportunidadVentaNM.CodReserva, Constantes_SRV.INT_ID_MONEDA_USD, System.Convert.ToDouble(oportunidadVentaNM.MontoCompra)); } } } #endregion rptaOportunidadVentaNM.codigo = "OK"; rptaOportunidadVentaNM.mensaje = (oportunidadVentaNM.Accion_SF.ToUpper().Trim() == "UPDATE" ? "Se actualizo correctamente" : "Se agregó correctamente"); rptaOportunidadVentaNM.IdCotSrv = idCotizacion; objRespuesta = new { respuesta = rptaOportunidadVentaNM }; return(Ok(objRespuesta)); } catch (Exception ex) { exMessage = ex.Message; //rptaOportunidadVentaNM.codigo = "ER"; //rptaOportunidadVentaNM.mensaje = ex.Message; //rptaOportunidadVentaNM.IdCotSrv = null; //objRespuesta = new { respuesta = rptaOportunidadVentaNM }; //return Ok(objRespuesta); return(InternalServerError(ex)); } finally { (new { Body = oportunidadVentaNM, Response = rptaOportunidadVentaNM, Exception = exMessage }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
public async Task <HttpResponseMessage> Login(UsuarioLogin usuarioLogin) { var result = _httpClient.PostAsync($"/api/identidade/Login", ObterConteudo(usuarioLogin)).Result; return(await Task.FromResult(result)); }
public IActionResult Verify(UsuarioLogin usuarioLogin) { var passwordr = BCrypt.Net.BCrypt.Verify("juan123456", usuarioLogin.Password); return(Ok(passwordr)); }
private void tlstrpActionMenuBtnConfirm_Click(object sender, EventArgs e) { DataSet _dsLogin = null; UsuarioLogin _UsuarioLogin = null; List <EmpresaLogin> _EmpresaLoginCollection = new List <EmpresaLogin>(); AppStateSecurity.Senha = txtPassword.Text; _dsLogin = AccessTask.CreateInstance.GetLoginTask(txtUser.Text, txtPassword.Text); if ((_dsLogin.Tables[0].Rows.Count > 0) && (_dsLogin.Tables[1].Rows.Count > 0)) { if (_dsLogin.Tables[0].Rows.Count.Equals(1)) { _UsuarioLogin = new UsuarioLogin(_dsLogin.Tables[0].Rows[0]); AppStateSecurity.Usuario = _UsuarioLogin.Usuario; AppStateSecurity.Nome = _UsuarioLogin.Nome; Usuario = AppStateSecurity.Usuario; Nome = AppStateSecurity.Nome; } if (_dsLogin.Tables[1].Rows.Count > 0) { foreach (DataRow _Row in _dsLogin.Tables[1].Rows) { _EmpresaLoginCollection.Add(new EmpresaLogin(_Row)); } AppStateSecurity.EmpresaLoginCollection = _EmpresaLoginCollection; EmpresaLoginCollection = AppStateSecurity.EmpresaLoginCollection; } this.Close(); } else { AppStateSession.LogonNumber++; switch (AppStateSession.LogonNumber) { case 1: MessageBox.Show(string.Format(FormsMessages.NroTentativasLogin, AppStateSession.LogonNumber), FormsMessages.LoginDoSistema, MessageBoxButtons.OK, MessageBoxIcon.Information); return; case 2: MessageBox.Show(string.Format(FormsMessages.NroTentativasLogin, AppStateSession.LogonNumber), FormsMessages.LoginDoSistema, MessageBoxButtons.OK, MessageBoxIcon.Information); return; case 3: MessageBox.Show(string.Format(FormsMessages.NroTentativasLogoff, AppStateSession.LogonNumber), FormsMessages.LoginDoSistema, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); Application.Exit(); break; default: break; } } }
public bool AlteraSenhaDo(UsuarioLogin login) { _contexto.Update(login); return(_contexto.SaveChanges() > 0); }
private bool IsValido(UsuarioLogin login) { var validacao = new ValidaUsuarioLogin(_globalizacao); return(validacao.Validate(login).IsValid); }
private void ValidateNM(DocumentosEmisionNM _docsEmisionNM, ref DocEmisionRS _docEmisionRS, ref UsuarioLogin UserLogin, ref CotizacionVta CotizacionVta) { string mensajeError = string.Empty; if (_docsEmisionNM == null) { cargarError(ref _docEmisionRS, "Envie correctamente los parametros de entrada - RQ Nulo|"); return; } if (string.IsNullOrEmpty(_docsEmisionNM.idOportunidad_SF)) { mensajeError += "La oportunidad SF es un campo obligatorio|"; } if (_docsEmisionNM.IdUsuarioSrv_SF <= 0) { mensajeError += "El IdUsuarioSrv_SF es un campo obligatorio|"; } if (_docsEmisionNM.idCotizacionSRV <= 0) { mensajeError += "El idCotizacionSRV es un campo obligatorio|"; } if (string.IsNullOrEmpty(_docsEmisionNM.correo)) { mensajeError += "El correo es un campo obligatorio|"; } else if (ValidateProcess.validarEmail(_docsEmisionNM.correo) == false) { mensajeError += "El formato del correo es incorrecto|"; } if (string.IsNullOrEmpty(mensajeError)) { /*Cargamos Datos del Usuario*/ RepositoryByBusiness(null); UserLogin = _datosUsuario.Get_Dts_Usuario_Personal_NM(_docsEmisionNM.IdUsuarioSrv_SF); if (UserLogin == null) { mensajeError += "ID del Usuario no registrado|"; } /*Validacion Oportunidad*/ int intCotizacion_SF = _oportunidadVentaNMRepository._Select_CotId_X_OportunidadSF(_docsEmisionNM.idOportunidad_SF); if (intCotizacion_SF <= 0) { mensajeError += "No existe la oportunidad en el ambiente de Expertia|"; } else if (intCotizacion_SF > 0 && intCotizacion_SF != _docsEmisionNM.idCotizacionSRV) { mensajeError += "La cotizacion enviada es diferente a la registrada|"; } if (string.IsNullOrEmpty(mensajeError)) { CotizacionVta = _cotizacionSRV_Repository.Get_Datos_CotizacionVta((int)_docsEmisionNM.idCotizacionSRV); if (CotizacionVta == null || CotizacionVta.IdCot == 0) { mensajeError = "No existe informacion de la cotizacion enviada"; } else if (CotizacionVta.IdEstado != (short)ENUM_ESTADOS_COT_VTA.Facturado) { mensajeError = "La cotizacion no se encuentra facturado, no es posible enviar documentos"; } else if (!(CotizacionVta.IdReservaVuelos != null && CotizacionVta.IdReservaVuelos > 0)) { mensajeError = "No se puede enviar ningún documento porque no está asociada a una reserva automática."; } } } if (string.IsNullOrEmpty(mensajeError) == false) { _docEmisionRS.codigo = "ER"; _docEmisionRS.mensaje = "VA: " + mensajeError; } }
public IHttpActionResult Create(FactFileRetailReq models) { _factFileRepository = new FactFileRetailRepository(); _CotizacionSRV = new CotizacionSRV_AW_Repository(); _datosUsuario = new DatosUsuario(); _datosOficina = new DatosOficina(); string _result = ""; string exceptionMsg = string.Empty; object response = null; try { UsuarioLogin objUsuarioLogin = _datosUsuario.Get_Dts_Usuario_Personal(models.IdUsuarioSrv_SF); int IdUsuario = objUsuarioLogin.IdUsuario; int IdOfi = objUsuarioLogin.IdOfi; int IdDep = objUsuarioLogin.IdDep; List <FileRetail> lstArchivos = new List <FileRetail>(); ///Guardar Datos de Facturacion models.IdUsuario = IdUsuario; _result = Guardar_DesgloseCA(models); ///Subir Archivos //var objArchivos = new List<FileRetail>; //(List<FileRetail>)System.Web.HttpContext.Current.SetSessionStateBehavior(Constantes_SRV.SES_LISTA_ARCHIVOS_DESGLOSE_CA); //lstArchivos = objArchivos; ///Insertar APPWEBS.WFF_POST_COT_VTA string pStrTextoPost = TemplateHtml(models, lstArchivos); string strIPUsuCrea = "::1"; ///ENviar CA TRUE Models.Retail.Oficina objOficina = new Models.Retail.Oficina(); objOficina = _datosOficina.ObtieneOficinaXId(IdOfi); Boolean bolValor = EsAreaCounterPresencial(IdOfi, IdDep, objOficina.bolEsRipley); if (bolValor) { bolValor = _CotizacionSRV._Liberar_UsuWeb_CA(models.Cot_Id); } _CotizacionSRV.Inserta_Post_Cot(models.Cot_Id, "1", pStrTextoPost, strIPUsuCrea, objUsuarioLogin.LoginUsuario, IdUsuario, IdDep, IdOfi, null, null, Constantes_SRV.INT_ID_ESTADO_COT_DERIVADO_A_CA, true, null, false, null, false, IdUsuario, IdOfi, IdDep, null, null, null, "", null); response = new { CodigoError = "OK", MensajeError = "", idFactura = _result }; return(Ok(response)); } catch (Exception ex) { exceptionMsg = ex.Message; return(InternalServerError(ex)); } finally { (new { Request = models, Response = response, Exception = exceptionMsg }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
public bool AlteraSenhaDo(UsuarioLogin login) { return(_repositorio.AlteraSenhaDo(login)); }
public IHttpActionResult Send(DocumentosEmisionNM DocumentosEmision) { DocEmisionRS _DocEmisionRS = new DocEmisionRS(); string exceptionMsg = string.Empty; try { UsuarioLogin usuarioLogin = null; CotizacionVta DtsCotizacionVta = null; ValidateNM(DocumentosEmision, ref _DocEmisionRS, ref usuarioLogin, ref DtsCotizacionVta); if (string.IsNullOrEmpty(_DocEmisionRS.codigo) == false) { return(Ok(new { respuesta = _DocEmisionRS })); } if (usuarioLogin.IdUsuario != DocumentosEmision.IdUsuarioSrv_SF) { DocumentosEmision.IdUsuarioSrv_SF = usuarioLogin.IdUsuario; } /**Llamamos al servicio del SRV**/ ws_crm.ws_crm crmServiceSRV = new ws_crm.ws_crm(); EnvioDocsRQ ServSRV_RQ = new EnvioDocsRQ() { IdCotizacion = DocumentosEmision.idCotizacionSRV, IdReserva = (int)DtsCotizacionVta.IdReservaVuelos, Formato = "F", IPUsuario = "127.0.0.0", Email = DocumentosEmision.correo, Token = ConfigurationManager.AppSettings["TOKEN_SERVICIO_SRV_CRM"], Usuario_Session = new UsuarioSession() { IdUsuario = usuarioLogin.IdUsuario, EmailUsuario = usuarioLogin.EmailUsuario, LoginUsuario = usuarioLogin.LoginUsuario, IdDep = usuarioLogin.IdDep, IdOfi = usuarioLogin.IdOfi } }; EnvioDocsRS ServSRV_RS = crmServiceSRV.EnvioDocumentos(ServSRV_RQ); if (ServSRV_RS == null) { _DocEmisionRS.codigo = "ER"; _DocEmisionRS.mensaje = "Sucedió un error inesperado (comunique a Sistemas)."; } else if (ServSRV_RS.Codigo == "OK") { _DocEmisionRS.codigo = "OK"; _DocEmisionRS.mensaje = (string.IsNullOrEmpty(ServSRV_RS.Mensaje) ? "Se envio el correo satisfactoriamente" : ServSRV_RS.Mensaje); } else { _DocEmisionRS.codigo = "ER"; _DocEmisionRS.mensaje = (string.IsNullOrEmpty(ServSRV_RS.Mensaje) ? "Sucedió un error inesperado (comunique a Sistemas)." : ServSRV_RS.Mensaje); } return(Ok(new { respuesta = _DocEmisionRS }));; } catch (Exception ex) { exceptionMsg = ex.Message; return(InternalServerError(ex)); } finally { (new { Response = _DocEmisionRS, Exception = exceptionMsg, LegacySystems = DocumentosEmision }).TryWriteLogObject(_logFileManager, _clientFeatures); } }
////////////////////////////////////// // ACCIONES/OPERACIONES DEL WEB-API // ////////////////////////////////////// ///////////////// // ACCIÓN POST // ///////////////// public async Task <object> LoginAsync(UsuarioLogin usuarioLogin) { // CONSTRUIMOS LA URL DE LA ACCIÓN var urlBuilder_ = new StringBuilder(); urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "") .Append("/api/login/authenticate"); var url_ = urlBuilder_.ToString(); // RECUPERAMOS EL HttpClient var client_ = _httpClient; try { using (var request_ = new HttpRequestMessage()) { /////////////////////////////////////// // CONSTRUIMOS LA PETICIÓN (REQUEST) // /////////////////////////////////////// // DEFINIMOS EL Content CON EL OBJETO A ENVIAR SERIALIZADO. request_.Content = new StringContent(JsonConvert.SerializeObject(usuarioLogin)); // DEFINIMOS EL ContentType, EN ESTE CASO ES "application/json" request_.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); // DEFINIMOS EL MÉTODO HTTP request_.Method = new HttpMethod("POST"); // DEFINIMOS LA URI request_.RequestUri = new Uri(url_, System.UriKind.RelativeOrAbsolute); // DEFINIMOS EL Accept, EN ESTE CASO ES "application/json" request_.Headers.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json")); ///////////////////////////////////////// // CONSTRUIMOS LA RESPUESTA (RESPONSE) // ///////////////////////////////////////// // Utilizamos ConfigureAwait(false) para evitar el DeadLock. var response_ = await client_.SendAsync(request_, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false); // OBTENEMOS EL Content DEL RESPONSE como un String // Utilizamos ConfigureAwait(false) para evitar el DeadLock. var responseText_ = await response_.Content.ReadAsStringAsync().ConfigureAwait(false); // SI ES LA RESPUESTA ESPERADA !! ... if (response_.StatusCode == System.Net.HttpStatusCode.OK) // 200 { // DESERIALIZAMOS Content DEL RESPONSE var responseBody_ = JsonConvert.DeserializeObject <object>(responseText_); return(responseBody_); } else // SI NO SE ESTÁ AUTORIZADO ... if (response_.StatusCode == System.Net.HttpStatusCode.Unauthorized) // 401 { throw new Exception("401 Unauthorized. Las credenciales de acceso del usuario son incorrectas. " + responseText_); } else // CUALQUIER OTRA RESPUESTA ... if (response_.StatusCode != System.Net.HttpStatusCode.OK && // 200 response_.StatusCode != System.Net.HttpStatusCode.NoContent) // 204 { throw new Exception((int)response_.StatusCode + ". No se esperaba el código de estado HTTP de la respuesta. " + responseText_); } // RETORNAMOS EL OBJETO POR DEFECTO ESPERADO return(default(object)); } } finally { // NO UTILIZAMOS CATCH, // PASAMOS LA EXCEPCIÓN A LA APP. } }
public IActionResult Login([FromBody] LoginViewModel modelo) { using (var db = new smafacpyaContext()) { db.Database.BeginTransaction(); try { var contraseñaHelper = new Contraseña(); if (string.IsNullOrWhiteSpace(modelo.Correo)) { return(BadRequest(constantes.seguridad.mensajes.correoVacio)); } var usuarios = db.Usuario.AsNoTracking().Include(x => x.UsuarioRol).Where(x => x.Correo.Trim().Equals(modelo.Correo.Trim()) && x.Activo); if (usuarios == null) { return(BadRequest(constantes.seguridad.mensajes.usuarioNoEncontrado)); } if (usuarios.Count() == 0) { return(BadRequest(constantes.seguridad.mensajes.usuarioNoEncontrado)); } var usuario = usuarios.FirstOrDefault(); var contraseña = contraseñaHelper.Encriptar(modelo.Contraseña); if (!contraseñaHelper.CompararContraseña(contraseña, usuario.Contraseña)) { return(BadRequest(constantes.seguridad.mensajes.usuarioContrasenaIncorrecto)); } var logins = db.UsuarioLogin.Where(x => x.Activo && x.IdUsuario == usuario.Id); var hoy = DateTime.Now; var vigencia = DateTime.Now.AddMonths(1); var idLogin = Guid.NewGuid(); var roles = new List <Rol>(); var menu = ObtenerMenuPorUsuario(usuario.Id); foreach (var login in logins) { login.Activo = false; } var loginNuevo = new UsuarioLogin { Id = idLogin, IdUsuario = usuario.Id, FechaCreacion = hoy, FechaVigencia = vigencia, Activo = true }; if (usuario.UsuarioRol != null) { foreach (var ur in usuario.UsuarioRol) { roles.Add(db.Rol.FirstOrDefault(x => x.Id == ur.IdRol)); } } db.UsuarioLogin.Add(loginNuevo); var token = GenerarToken(usuario, idLogin, roles, vigencia); db.SaveChanges(); db.Database.CommitTransaction(); var usuarioViewModel = new UsuarioViewModel { Correo = usuario.Correo }; var rolViewModel = roles.Select(x => new RolViewModel { Id = x.Id, Nombre = x.Nombre, Descripcion = x.Descripcion, Activo = x.Activo.HasValue ? (bool)x.Activo : false }); return(Ok(new { Usuario = usuarioViewModel, Token = token, Roles = rolViewModel, Menu = menu })); } catch (Exception ex) { db.Database.RollbackTransaction(); return(BadRequest(ex.InnerException == null ? ex.Message : ex.InnerException.Message)); } } }
public string GenerarToken(UsuarioLogin usuarioGeneral) { return(encoder.Encode(usuarioGeneral, SECRET_KEY)); }
public void Cadastra(UsuarioLogin login) { LoginExistePara(login.Usuario); _usuarioRepositorio.Cadastra(login); }