private void userSign(ref Users user, string name, string password, string userHosAddress) { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "T", "F", userHosAddress); try { user._logTx = new Log_Transaction(); user._logTx = (Log_Transaction)Session[_nSlogTx]; if (string.IsNullOrEmpty(user._logTx._ip)) { user._logTx._ip = userHosAddress; } } catch { user._logTx = new Log_Transaction(userHosAddress); } finally { Session.Clear(); } user._usd_lastaccess = DateTime.Now; user._isnew = false; user._usv_username = name; Session[Constants.NameSessionUser] = user; // Async Log_Transaction.registerUserInfo(user, "SIGNIN:" + user._usv_username); }
/// <summary> /// Aplicar un nuevo estado a un pago /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gvListPays_RowCommand(object sender, GridViewCommandEventArgs e) { msnMessage.HideMessage(); if (e.CommandName.Equals("ApplyUpdate")) { // // Inicio de marcacion string noPay = e.CommandArgument.ToString(); GridViewRow row = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer); //GridViewRow row2 = (GridViewRow)(((TextBox)e.CommandSource).NamingContainer); string newStatus = ((DropDownList)row.FindControl("dwStatusPay")).SelectedValue; string concepto = ((Label)row.FindControl("lblconid")).Text; //DataRowView rowView = (DataRowView)row.DataItem; //string situacao = rowView["Con_Id"].ToString(); // string _conid = System.Web.UI.DataBinder.Eval(row, "Con_Id").ToString(); //string val = (string)this.gvListPays.da [row.RowIndex]["Con_Id"]; if (string.IsNullOrEmpty(newStatus) || newStatus.Equals("-1")) { msnMessage.LoadMessage("Seleccione el NUEVO ESTADO que se le aplicará al pago No." + noPay, UserControl.ucMessage.MessageType.Error); } else { /*validacion solo para usuarios sistemas y finanzas*/ if ((_user._usu_tip_id == "04" || _user._usu_tip_id == "08") || concepto == "AJU") { bool answ = Payments.updatePayment(noPay, newStatus); if (!answ) { msnMessage.LoadMessage("Error intentando aplicar el nuevo estado al pedido No." + noPay + "; por favor intente de nuevo.", UserControl.ucMessage.MessageType.Error); } else { msnMessage.LoadMessage("Nuevo estado aplicado correctamente al pago No." + noPay + ".", UserControl.ucMessage.MessageType.Information); // Async Log_Transaction.registerUserInfo(_user, "UPDATE PAYMENT NO.:" + noPay + " STATUS:" + newStatus); } refreshGridView(); } else { msnMessage.LoadMessage("El usuario no tiene permiso para validar el pago : " + noPay, UserControl.ucMessage.MessageType.Error); } } } }
public static string ajaxUpgradePromoter(decimal promoter, string typeCoord, string area, string mail) { /// /// Deido a que la funcion es estatica se deben crear referencias para podre hacer llamados a algunos metodos System.Web.SessionState.HttpSessionState sessions = HttpContext.Current.Session; // Cargar session Users us = (Users)sessions[Constants.NameSessionUser]; try { Log_Transaction.insertLogTransaction(us._usv_co, us._usn_userid, DateTime.Now, us._usv_username + "Upgrade Promoter id:" + promoter + " Type Coord:" + typeCoord + " Area:" + area, us._logTx._ip); } catch (Exception e) { throw new Exception(e.Message, e.InnerException); } return("1"); }
public static string ajaxUpdatePromoter(Decimal promoter, Decimal newCoord) { /// /// Deido a que la funcion es estatica se deben crear referencias para podre hacer llamados a algunos metodos System.Web.SessionState.HttpSessionState sessions = HttpContext.Current.Session; // Cargar session de compañia Users us = (Users)sessions[Constants.NameSessionUser]; try { // Async Log_Transaction.registerUserInfo(us, us._usv_username + "Change Stencil Promoter id:" + promoter + " New Coord:" + newCoord); } catch (Exception e) { throw new Exception(e.Message, e.InnerException); } return("1"); }
protected void btCreateClear_Click(object sender, EventArgs e) { msnMessage.HideMessage(); string co = _user._usv_co; string listLiq = string.Empty; string listDoc = string.Empty; string clear = string.Empty; _lstDocTx = getListFromSes(); List <Documents_Trans> lstDocTxCheck = _lstDocTx.Where(x => x._check).ToList(); if (lstDocTxCheck.Count == 0) { msnMessage.LoadMessage("no ha seleccionado ningun items", UserControl.ucMessage.MessageType.Error); return; } DataTable dt_cruce = new DataTable(); dt_cruce.Columns.Add("Tip", typeof(string)); dt_cruce.Columns.Add("Monto", typeof(Double)); Int32 fvalidapedido = 0; DataTable dtpagos = new DataTable(); dtpagos.Columns.Add("Doc_Tra_Id", typeof(string)); foreach (Documents_Trans dTx in lstDocTxCheck) { if (dTx._conceptid.Equals("PAGOS")) { dt_cruce.Rows.Add('P', dTx._value); if (!string.IsNullOrEmpty(listDoc)) { listDoc += ","; } listDoc += dTx._docNo; dtpagos.Rows.Add(dTx._docNo); } if (dTx._conceptid.Equals("FACTURACION")) { dt_cruce.Rows.Add('L', dTx._value * -1); fvalidapedido += 1; //if (fvalidapedido > 1) //{ // msnMessage.LoadMessage("No se puede realizar cruce de pagos con 2 o más Pedidos" + // " ,por favor seleccione solo 1 pedido.", UserControl.ucMessage.MessageType.Error); // return; //} if (!string.IsNullOrEmpty(listLiq)) { listLiq += ","; } listLiq += dTx._docNo; dtpagos.Rows.Add(dTx._docNo); } } if (listLiq.Length == 0) { msnMessage.LoadMessage("no ha seleccionado ninguna factura para cruzar el pago", UserControl.ucMessage.MessageType.Error); return; } //validar para que solo haya un limite de pago y no seleccione varios pagos cuando en un solo op ya pago todo el pedido DataRow[] fila_L = dt_cruce.Select("Tip='L'"); Decimal monto_liq = Convert.ToDecimal(fila_L[0][1].ToString()); DataRow[] fila_P = dt_cruce.Select("Tip='P'"); Decimal _pagos = 0; Int32 _limite = 0; Int32 _cur = 0; //for (Int32 i = 0; fila_P.Length > i; ++i) //{ // _cur += 1; // //si ya existe pagos seleccionados // if (_cur > 1) // { // decimal _pago_cancelado = Convert.ToDecimal(fila_P[i][1].ToString()); // if (_pago_cancelado > monto_liq) // { // msnMessage.LoadMessage("por favor solo seleccione el pago necesario para pagar su factura", UserControl.ucMessage.MessageType.Error); // return; // } // } //_pagos += Convert.ToDecimal(fila_P[i][1].ToString()); //if (_pagos > monto_liq) //{ // if (_limite == 0) // { // _limite = 1; // } // else // { // msnMessage.LoadMessage("por favor solo seleccione el pago necesario para pagar su factura", UserControl.ucMessage.MessageType.Error); // return; // } //} //} //************************************* // Cruce financiero de pagos y liquidaciones if (!string.IsNullOrEmpty(listLiq) && !string.IsNullOrEmpty(listDoc)) { // try { string vrefnc = ""; string vreffec = ""; clear = Clear.setPreClear(_user._bas_id, dtpagos); // en este caso vamos hacer un update a la nota de credito de financiera de document_trans //Clear.sbupdateclearncredito(listLiq, clear); // if (!string.IsNullOrEmpty(clear)) { msnMessage.LoadMessage("El cruce de información fue grabado correctamente; número del cruce: " + clear, UserControl.ucMessage.MessageType.Information); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); } } // Cruce financiero de documentos else if (!string.IsNullOrEmpty(listDoc)) { clear = Clear.setClearingDoc(co, listDoc); try { if (!string.IsNullOrEmpty(clear)) { msnMessage.LoadMessage("El cruce de información fue grabado correctamente; número del cruce: " + clear, UserControl.ucMessage.MessageType.Information); // Async Log_Transaction.registerUserInfo(_user, "CREATE CLEAR:" + clear); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); } } else { msnMessage.LoadMessage("Por favor, debe seleccionar los documentos que formaran el cruce financiero.", UserControl.ucMessage.MessageType.Error); } }
protected void btCreateLiq_Click(object sender, EventArgs e) { //hpedido.Value = "120"; msnMessage.HideMessage(); string co = _user._usv_co; string listLiq = string.Empty; string listDoc = string.Empty; string clear = string.Empty; _lstDocTx = getListFromSes(); List <Documents_Trans> lstDocTxCheck = _lstDocTx.Where(x => x._check).ToList(); if (lstDocTxCheck.Count == 0) { msnMessage.LoadMessage("no hay pedidos para generar su liquidacion", UserControl.ucMessage.MessageType.Error); string script = string.Empty; script += "closeDialogLoad()"; System.Web.UI.ScriptManager.RegisterStartupScript(upPanelMsg, Page.GetType(), "CloseDialog", script, true); return; } DataTable dt_pedido = new DataTable(); dt_pedido.Columns.Add("pedido", typeof(string)); //dt_cruce.Columns.Add("Monto", typeof(Double)); Int32 fvalidapedido = 0; //DataTable dtpagos = new DataTable(); //dtpagos.Columns.Add("Doc_Tra_Id", typeof(string)); foreach (Documents_Trans dTx in lstDocTxCheck) { if (dTx._conceptid.Equals("PAGOS")) { //dt_cruce.Rows.Add('P', dTx._value); //if (!string.IsNullOrEmpty(listDoc)) listDoc += ","; //listDoc += dTx._docNo; //dtpagos.Rows.Add(dTx._docNo); } if (dTx._conceptid.Equals("LIQUIDACIONES")) { //dt_cruce.Rows.Add('L', dTx._value * -1); dt_pedido.Rows.Add(dTx._docNo); fvalidapedido += 1; if (!string.IsNullOrEmpty(listLiq)) { listLiq += ","; } listLiq += dTx._docNo; } } decimal _saldo = Convert.ToDecimal(Session["_saldo"].ToString()); if (_saldo < 0) { _saldo = _saldo * -1; msnMessage.LoadMessage("no se puede agrupar porque queda un saldo de " + _saldo.ToString(ConfigurationManager.AppSettings["kCurrency"]) + " por pagar", UserControl.ucMessage.MessageType.Error); string script = string.Empty; script += "closeDialogLoad()"; System.Web.UI.ScriptManager.RegisterStartupScript(upPanelMsg, Page.GetType(), "CloseDialog", script, true); return; } //************************************* // Cruce financiero de pagos y liquidaciones if (!string.IsNullOrEmpty(listLiq)) { // try { string _lider_codigo = (pnlDwCustomers.Visible) ? dwCustomers.SelectedValue : _user._usn_userid.ToString(); string _validaref = string.Empty; string _liq_ref = ""; clear = Clear._ejecutar_agrupar_pedido(Convert.ToDecimal(_lider_codigo), _user._bas_id, dt_pedido, ref _liq_ref); // en este caso vamos hacer un update a la nota de credito de financiera de document_trans //Clear.sbupdateclearncredito(listLiq, clear); // if (clear.Length == 0) { Session["_saldo"] = "0"; string script = string.Empty; script += "closeDialogLoad()"; System.Web.UI.ScriptManager.RegisterStartupScript(upPanelMsg, Page.GetType(), "CloseDialog", script, true); msnMessage.LoadMessage("El agrupamiento genero un numero de liquidacion para el lider , se genera el pago numero: " + clear, UserControl.ucMessage.MessageType.Information); string url = _pageLiquidReport + "?noLiq=" + _liq_ref;//"?NoOrder=" + noOrder + "&TypeReport=2"; // Response.Redirect(url); //procedimiento envio de correo al usuario admin //DataTable dt = Clear.fgetcorreoenvio(); //if (dt.Rows.Count > 0) //{ // for (Int32 i = 0; i <= dt.Rows.Count - 1; i++) // { // sbenviarcorreo(dt.Rows[i]["email"].ToString()); // } //} //////////////////////////////////// // Async //Log_Transaction.registerUserInfo(_user, "CREATE CLEAR:" + clear); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); string script = string.Empty; script += "closeDialogLoad()"; System.Web.UI.ScriptManager.RegisterStartupScript(upPanelMsg, Page.GetType(), "CloseDialog", script, true); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); string script = string.Empty; script += "closeDialogLoad()"; System.Web.UI.ScriptManager.RegisterStartupScript(upPanelMsg, Page.GetType(), "CloseDialog", script, true); } } // Cruce financiero de documentos else if (!string.IsNullOrEmpty(listDoc)) { clear = Clear.setClearingDoc(co, listDoc); try { if (!string.IsNullOrEmpty(clear)) { msnMessage.LoadMessage("El cruce de información fue grabado correctamente; número del cruce: " + clear, UserControl.ucMessage.MessageType.Information); // Async Log_Transaction.registerUserInfo(_user, "CREATE CLEAR:" + clear); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); } } else { msnMessage.LoadMessage("Por favor, debe seleccionar los documentos que formaran el cruce financiero.", UserControl.ucMessage.MessageType.Error); } }
protected void btCreateClear_Click(object sender, EventArgs e) { msnMessage.HideMessage(); string co = _user._usv_co; string listLiq = string.Empty; string listDoc = string.Empty; string clear = string.Empty; _lstDocTx = getListFromSes(); List <Documents_Trans> lstDocTxCheck = _lstDocTx.Where(x => x._check).ToList(); if (lstDocTxCheck.Count == 0) { msnMessage.LoadMessage("no ha seleccionado ningun items", UserControl.ucMessage.MessageType.Error); return; } DataTable dt_cruce = new DataTable(); dt_cruce.Columns.Add("Tip", typeof(string)); dt_cruce.Columns.Add("Monto", typeof(Double)); Int32 fvalidapedido = 0; DataTable dtpagos = new DataTable(); dtpagos.Columns.Add("Doc_Tra_Id", typeof(string)); foreach (Documents_Trans dTx in lstDocTxCheck) { if (dTx._conceptid.Equals("PAGOS")) { dt_cruce.Rows.Add('P', dTx._value); if (!string.IsNullOrEmpty(listDoc)) { listDoc += ","; } listDoc += dTx._docNo; dtpagos.Rows.Add(dTx._docNo); } if (dTx._conceptid.Equals("LIQUIDACIONES")) { dt_cruce.Rows.Add('L', dTx._value * -1); fvalidapedido += 1; if (fvalidapedido > 1) { msnMessage.LoadMessage("No se puede realizar cruce de pagos con 2 o más Pedidos" + " ,por favor seleccione solo 1 pedido.", UserControl.ucMessage.MessageType.Error); return; } if (!string.IsNullOrEmpty(listLiq)) { listLiq += ","; } listLiq += dTx._docNo; } } if (listLiq.Length == 0) { msnMessage.LoadMessage("no ha seleccionado ningun pedido para cruzar el pago", UserControl.ucMessage.MessageType.Error); return; } //validar para que solo haya un limite de pago y no seleccione varios pagos cuando en un solo op ya pago todo el pedido DataRow[] fila_L = dt_cruce.Select("Tip='L'"); Decimal monto_liq = Convert.ToDecimal(fila_L[0][1].ToString()); DataRow[] fila_P = dt_cruce.Select("Tip='P'"); Decimal _pagos = 0; Int32 _limite = 0; for (Int32 i = 0; fila_P.Length > i; ++i) { _pagos += Convert.ToDecimal(fila_P[i][1].ToString()); if (_pagos > monto_liq) { if (_limite == 0) { _limite = 1; } else { msnMessage.LoadMessage("por favor solo seleccione el pago necesario para pagar su pedido", UserControl.ucMessage.MessageType.Error); return; } } } //************************************* // Cruce financiero de pagos y liquidaciones if (!string.IsNullOrEmpty(listLiq) && !string.IsNullOrEmpty(listDoc)) { // try { string vrefnc = ""; string vreffec = ""; string _validaref = string.Empty; _validaref = Clear.setvalidaclear(listLiq, ref vrefnc, ref vreffec); if (!(string.IsNullOrEmpty(_validaref))) { msnMessage.LoadMessage("No se puede realizar cruce de pagos; porque la fecha de referencia de la nota de credito N " + vrefnc + " pertenece a otro mes con fecha " + vreffec + " ,por favor anule este pedido y vuelva a generar otro pedido", UserControl.ucMessage.MessageType.Error); return; } clear = Clear.setPreCrucePago(listLiq, dtpagos); // en este caso vamos hacer un update a la nota de credito de financiera de document_trans //Clear.sbupdateclearncredito(listLiq, clear); // string _lider = ""; if (!(pnlDwCustomers.Visible)) { _lider = _user._nombre; } else { _lider = dwCustomers.SelectedItem.Text; } if (!string.IsNullOrEmpty(clear)) { msnMessage.LoadMessage("El cruce de información fue grabado correctamente, su pedido sera enviado para la agrupacion del lider: " + _lider, UserControl.ucMessage.MessageType.Information); //procedimiento envio de correo al usuario admin //DataTable dt = Clear.fgetcorreoenvio(); //if (dt.Rows.Count > 0) //{ // for (Int32 i = 0; i <= dt.Rows.Count - 1; i++) // { // sbenviarcorreo(dt.Rows[i]["email"].ToString()); // } //} //////////////////////////////////// // Async Log_Transaction.registerUserInfo(_user, "CREATE CLEAR:" + clear); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); } } // Cruce financiero de documentos else if (!string.IsNullOrEmpty(listDoc)) { clear = Clear.setClearingDoc(co, listDoc); try { if (!string.IsNullOrEmpty(clear)) { msnMessage.LoadMessage("El cruce de información fue grabado correctamente; número del cruce: " + clear, UserControl.ucMessage.MessageType.Information); // Async Log_Transaction.registerUserInfo(_user, "CREATE CLEAR:" + clear); } else { throw new InvalidCastException(); } refreshGrid(); } catch (InvalidCastException ic) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ic.Message, UserControl.ucMessage.MessageType.Error); } catch (Exception ex) { msnMessage.LoadMessage("Error ocurrido realizando el cruce financiero; por favor intente de nuevo; detalle: " + ex.Message, UserControl.ucMessage.MessageType.Error); } } else { msnMessage.LoadMessage("Por favor, debe seleccionar los documentos que formaran el cruce financiero.", UserControl.ucMessage.MessageType.Error); } }
protected void LoginUser_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e) { try { //obtine el nombre del usuario que desea autenticarse string name = LoginUser.UserName; //Obtine el password string password = LoginUser.Password; //obtiene si el usuario desea o no almacenar una cookie bool checkcookie = LoginUser.RememberMeSet; Users user = new Users(); user = loadUser(name); if (user != null) { bool ValIngreso = true; if (user._usv_flg_Expired == "A") { if (user._usv_status == Constants.IdStatusPasswordExpiration) { ValIngreso = false; } } if (user._usu_est_id.Equals(Constants.IdStatusActive) && ValIngreso) { //Desencripta la contraseña del usuario string passUser = Cryptographic.decrypt(user._usu_contraseña); //valida la contraseña contraseña que ingreso contra lad del usuario if (password.Equals(passUser)) { //userSign(ref user, name, password, Request.UserHostAddress); Session[Constants.NameSessionUser] = user; loadMenu(user._bas_id); //String ip = GetUserIPAddress(); // o se puede utiliar lo siguiente que es lo mismo string _host = ""; string _ip = ""; GetIpAddress(ref _host, ref _ip); //insertar log de acceso al sistema Log_Transaction._auditoria_acceso(user._bas_id, user._nombre, _ip, _host); //Autenticación try { FormsAuthentication.RedirectFromLoginPage(user._bas_id.ToString(), checkcookie); } catch (Exception ex) { LoginUser.FailureText = "Error de conexión: " + ex.Message.ToString(); } } else { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "F", "F", Request.UserHostAddress); System.Diagnostics.Trace.WriteLine("[ValidateUser] Usuario y/o contraseña invalidos."); } } else if (user._usv_status.Equals(Constants.IdStatusPasswordExpiration) && user._usv_flg_Expired == "A") { //Desencripta la contraseña del usuario string passUser = Cryptographic.decrypt(user._usu_contraseña); //valida la contraseña contraseña que ingreso contra lad del usuario if (password.Equals(passUser)) { userSign(ref user, name, password, Request.UserHostAddress); loadMenu(user._bas_id); FormsAuthentication.SetAuthCookie(user._usn_userid.ToString(), checkcookie); Server.Transfer("changePassword.aspx?expiration=1"); } else { InvalidCredentialsLog.insertInvalidCredentialsLog(user._usv_co, name, password, "F", "F", Request.UserHostAddress); System.Diagnostics.Trace.WriteLine("[ValidateUser] Usuario y/o contraseña invalidos."); } } else { LoginUser.FailureText = "Error de conexión: El usuario no esta Activo"; } } else { System.Diagnostics.Trace.WriteLine("[ValidateUser] La validacion del usuario fallo."); } } catch (Exception ex) { } }
public static void setUserInfo(string userIp, string userCountry, string userRegion, string userCity, string userName) { Log_Transaction lTLogin = new Log_Transaction(userIp, userName, userCountry, userRegion, userCity); HttpContext.Current.Session[_nSlogTx] = lTLogin; }