void AgregarProducto(int p_IdProducto, Data2.Class.Struct_Factura p_Factura) { p_Factura.AddDetail(p_IdProducto); Log.ADD("Agregando Articulo:", this); Session.Remove(FacturaSesssionKEY); Session.Add(FacturaSesssionKEY, p_Factura); redirecttome(""); }
void InterpretarRequest() { if (Request["scroll"] != null && Request["k"] != null && Session[FacturaSesssionKEY] != null) { Data2.Class.Struct_Factura FACTURA = Session[FacturaSesssionKEY] as Data2.Class.Struct_Factura; for (int a = 0; a < FACTURA.GetDetalle().Count; a++) { if (FACTURA.GetDetalle()[a].ACCESSKEY == Request["k"].ToString()) { hf_Scroll.Value = "1"; hf_ScrollControl.Value = "#SetCant" + a.ToString(); } } } if (Request["setcant"] != null && Request["k"] != null) { string value = Request["setcant"]; string k = Request["k"]; AddCant(value, k); } if (Request["Del"] != null) { string k = Request["Del"].ToString(); Data2.Class.Struct_Factura FACTURA = Session[FacturaSesssionKEY] as Data2.Class.Struct_Factura; FACTURA.BorrarDetalle(k); Session.Remove(FacturaSesssionKEY); Session.Add(FacturaSesssionKEY, FACTURA); redirecttome(""); } if (Request["Add"] != null) { try { int IdProduct = int.Parse(Request["Add"].ToString()); if (Session[FacturaSesssionKEY] != null) { Data2.Class.Struct_Factura FACTURA = Session[FacturaSesssionKEY] as Data2.Class.Struct_Factura; if (IdProduct != 0) { AgregarProducto(IdProduct, FACTURA); } } } catch (Exception E) { Log.ADD("Error Maestro:" + "[" + E.Message + "]\n[" + E.StackTrace + "]", this); } } }
protected void Page_Load(object sender, EventArgs e) { ConfigurarModulo(); InterpretarRequest(); if (Session[FacturaSesssionKEY] != null) { InterpretarFactura(); Log.ADD("La sesion de la factura existe", this); _F = Session[FacturaSesssionKEY] as Struct_Factura; DatosFactura.Visible = true; if (_F.GetDetalle() != null) { div_GuardarFactura.Visible = true; } else { div_GuardarFactura.Visible = false; } } else { Log.ADD("La sesion de la factura NO existe", this); _F = null; DatosFactura.Visible = false; div_GuardarFactura.Visible = false; } if (!IsPostBack && _F != null) { RecuperarCampos(); } try { } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
void ConfigurarModulo() { DotNetNuke.Entities.Tabs.TabController TC = new DotNetNuke.Entities.Tabs.TabController(); DotNetNuke.Entities.Tabs.TabInfo TI = TC.GetTab(TabId, PortalId); MyURL = TI.FullUrl; Log.ADD("Configuracion Modulo", this); hf_URL.Value = MyURL; if (cmb_Vendedor.Items.Count == 0) { System.Web.UI.WebControls.ListItem LI = new System.Web.UI.WebControls.ListItem("Ninguno", "0"); cmb_Vendedor.Items.Add(LI); List <Struct_Vendedores> LV = Data2.Class.Struct_Vendedores.GetAllVendedores(UserId); if (LV != null) { foreach (Struct_Vendedores V in LV) { System.Web.UI.WebControls.ListItem _LI = new System.Web.UI.WebControls.ListItem(V.NombreVendedor, V.Id.ToString()); cmb_Vendedor.Items.Add(_LI); } } } }
protected void guardar_Click1(object sender, EventArgs e) { Struct_Cliente clienteAux = Session["cliente"] as Struct_Cliente; Struct_Treatment tratamientoAux = Session["tratamiento"] as Struct_Treatment; Guid IdUnico = Guid.NewGuid(); bool turnoOcupado = false; bool errorSaving = false; string tipoTurno = "none"; // Formato del hiddenfield: // Elementos de turno separados por comas y asteriscos: // // "idTurno","idSesion","dia","hora","box"+"*" // // Si IdTurno es 0, se crea un turno nuevo, // si no es 0, se asigna el turno no asignado. // String[] infoTurnos = turnosElegidos.Value.Split('*'); String[] elementoTurno; int IdTurno; int IdSesion; DateTime FechayHora = new DateTime(); Struct_Box Box = new Struct_Box(); Struct_Turno TurnoAux = new Struct_Turno(); Struct_Sesiones SesionAux = new Struct_Sesiones(); TurnoAux.CLIENTE = clienteAux; Log.ADD(turnosElegidos.Value, this); // Se recorre el hiddenfield de turnos a guardar o asignar for (int i = 0; i < infoTurnos.Length - 1; i++) { // Guardado de valores en variables auxilares elementoTurno = infoTurnos[i].Split(','); IdTurno = int.Parse(elementoTurno[0]); IdSesion = int.Parse(elementoTurno[1]); FechayHora = DateTime.Parse(elementoTurno[2] + ' ' + elementoTurno[3]); Box = Struct_Box.GetBoxById(int.Parse(elementoTurno[4])); // Si el IdTurno es distinto de 0, se trata de un turno existente que no fue asignado: if (IdTurno != 0) { TurnoAux = Struct_Turno.ObtenerTurnoById(IdTurno); TurnoAux.DiaReservacion = FechayHora; TurnoAux.BOX = Box; TurnoAux.Estado = "Ingresado"; tipoTurno = "NoAsignado"; } // Si el IdTurno es igual a 0, se trata de un turno nuevo de un tratamiento nuevo: else { SesionAux = Struct_Sesiones.GetSesionById(IdSesion); TurnoAux = new Struct_Turno(FechayHora, clienteAux, Conversion.ObtenerLocal(UserId), SesionAux, Box, IdUnico.ToString(), "Ingresado"); tipoTurno = "Nuevo"; } // Chequea si el turno ya existe List <Struct_Turno> turnosDeHoy = Struct_Turno.ObtenerTurnosDia(TurnoAux.DiaReservacion, Conversion.ObtenerLocal(UserId), Box.Id); if (turnosDeHoy != null) { foreach (Struct_Turno turno in turnosDeHoy) { if (turno.DiaReservacion == TurnoAux.DiaReservacion) { turnoOcupado = true; } } break; } // Verificacion de turno ya ocupado en ese dia y hora if (turnoOcupado) { string diaConflicto = TurnoAux.DiaReservacion.ToShortDateString(); string horaConflicto = TurnoAux.DiaReservacion.ToShortTimeString(); string boxConflicto = Box.Detalle; errorSaving = true; Response.Redirect(DotNetNuke.Common.Globals.NavigateURL() + "?addTurnoStatus=conflictingDate&fecha=" + diaConflicto + "&hora=" + horaConflicto + "&box=" + boxConflicto); } // Si se trata de un turno no asignado, se actualiza el turno, de lo contrario se guarda el turno nuevo if (string.Equals(tipoTurno, "NoAsignado")) { TurnoAux.ActualizarTurno(); } if (string.Equals(tipoTurno, "Nuevo")) { TurnoAux.GuardarTurno(); } } // Se recorren las sesiones del tratamiento para ver si quedo alguna sin asignar if (tratamientoAux != null) { // Obtener turnos ya existentes relacionados al tratamiento nuevo List <Struct_Turno> asignados = Struct_Turno.ObtenerTurnosByIdUnico(IdUnico.ToString()); foreach (Struct_Sesiones sesion in tratamientoAux.ListaSesiones) { bool itExists = false; // Chequear si la sesion ya tiene un turno en la agenda (asignado o no asignado, no importa) if (asignados != null) { foreach (Struct_Turno turno in asignados) { if (turno.IdSesion == sesion.Id) { itExists = true; break; } } } // Si la sesion no existe en "asignados", crear un turno nuevo y ponerlo como no asignado if (!itExists) { TurnoAux.DiaReservacion = new DateTime(1753, 1, 1); TurnoAux.IdSesion = sesion.Id; TurnoAux.SESION = sesion; Box = new Struct_Box(); TurnoAux.Estado = "NoAsignado"; TurnoAux.GuardarTurno(); } } } // Si no hay error en el guardado, se limpian todas las variables de sesion y los label if (!errorSaving) { Session.Remove("cliente"); Session.Remove("tratamiento"); labeldni.Text = ""; labelrs.Text = ""; labeltratamiento.Text = ""; labelnumsesiones.Text = ""; Response.Redirect(DotNetNuke.Common.Globals.NavigateURL() + "?addTurnoStatus=success"); } }
void InterpretarFactura() { Struct_Factura Factura = Session[FacturaSesssionKEY] as Struct_Factura; ConfigurarControlesTipoFactura(Factura); if (Factura != null) { bodyfactura.Controls.Clear(); Log.ADD("Factura existe en interpretacion", this); if (Factura.GetDetalle() != null) { List <Struct_DetalleFactura> Detalle = Factura.GetDetalle(); HtmlGenericControl _Table = new HtmlGenericControl("Table"); _Table.Attributes.Add("cellspacing", "0"); _Table.Attributes.Add("border", "1"); _Table.Attributes.Add("style", "border-collapse:collapse;width:100%"); HtmlGenericControl _Tbody = new HtmlGenericControl("tbody"); string[] _Headers = { "Cant.", "Descripción", "P. Unit.", "Total", "Elim." }; HtmlGenericControl _HeaderRow = new HtmlGenericControl("tr"); _HeaderRow.Attributes.Add("Class", "AtroxHeaderGrid"); for (int a = 0; a < _Headers.Length; a++) { HtmlGenericControl _HeaderCell = new HtmlGenericControl("th"); _HeaderCell.InnerText = _Headers[a]; if (_HeaderCell.InnerText == "Total") { _HeaderCell.Attributes.Add("id", "column_total"); } _HeaderRow.Controls.Add(_HeaderCell); } _Tbody.Controls.Add(_HeaderRow); for (int a = 0; a < Detalle.Count; a++) { HtmlGenericControl _FacturaRow = new HtmlGenericControl("tr"); _FacturaRow.Attributes.Add("Class", "AtroxRowTable"); HtmlGenericControl _CellCant = new HtmlGenericControl("td"); HtmlGenericControl _CellDescripcion = new HtmlGenericControl("td"); HtmlGenericControl _CellPrecio = new HtmlGenericControl("td"); HtmlGenericControl _CellTotal = new HtmlGenericControl("td"); HtmlGenericControl _CellEliminar = new HtmlGenericControl("td"); if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaA) { _CellTotal.InnerText = "$ " + Detalle[a].getTotalSinIva().ToString("0.00"); } else if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaB) { _CellTotal.InnerText = "$ " + Detalle[a].getTotalConIva().ToString("0.00"); } _CellDescripcion.InnerText = Detalle[a].PRODUCTO.Descripcion; if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaA) { _CellPrecio.InnerText = "$ " + Detalle[a].getPrecioFinalSinIva().ToString("0.00"); } else if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaB) { _CellPrecio.InnerText = "$ " + Detalle[a].PRODUCTO.PrecioFinal.ToString("0.00"); } _CellEliminar.Attributes.Add("Class", "AtroxDarkLink"); _CellPrecio.Attributes.Add("Class", "CeldaImporte"); _CellTotal.Attributes.Add("Class", "CeldaImporte"); HtmlGenericControl _AEliminar = new HtmlGenericControl("a"); _AEliminar.Attributes.Add("href", MyURL + "?Del=" + Detalle[a].ACCESSKEY); _AEliminar.InnerText = "Elim."; _CellEliminar.Controls.Add(_AEliminar); HtmlGenericControl SetCant = new HtmlGenericControl("input"); SetCant.Attributes.Add("type", "button"); SetCant.Attributes.Add("value", "SetCant"); SetCant.Attributes.Add("Class", "FormButton FirstElement LastElement"); SetCant.ID = "SetCant" + a.ToString(); SetCant.ClientIDMode = System.Web.UI.ClientIDMode.Static; SetCant.Attributes.Add("OnClick", "setCant(\"#SetCant" + a.ToString() + "\",\"" + "#TxtCant" + a.ToString() + "\",\"" + Detalle[a].ACCESSKEY + "\")"); string _cant; if (Detalle[a].isdec == true) { _cant = Detalle[a].DETALLEDEC.ToString(); } else { _cant = Detalle[a].DETALLEINT.ToString(); } HtmlGenericControl TxtCant = new HtmlGenericControl("input"); TxtCant.Attributes.Add("type", "text"); TxtCant.Attributes.Add("Class", "AtroxTextBoxMount TextBoxCurrency"); TxtCant.Attributes.Add("Value", _cant); TxtCant.ID = "TxtCant" + a.ToString(); TxtCant.ClientIDMode = System.Web.UI.ClientIDMode.Static; TxtCant.Attributes.Add("onkeyup", "KP(event,\"#SetCant" + a.ToString() + "\",\"#TxtCant" + a.ToString() + "\",\"" + Detalle[a].ACCESSKEY + "\")"); _CellCant.Controls.Add(TxtCant); _CellCant.Controls.Add(SetCant); _FacturaRow.Controls.Add(_CellCant); _FacturaRow.Controls.Add(_CellDescripcion); _FacturaRow.Controls.Add(_CellPrecio); _FacturaRow.Controls.Add(_CellTotal); _FacturaRow.Controls.Add(_CellEliminar); _Tbody.Controls.Add(_FacturaRow); } _Table.Controls.Add(_Tbody); bodyfactura.Controls.Add(_Table); //CONSTRUCCION FACTURA A //Construccion Subtotal placeholder_totales.ClientIDMode = System.Web.UI.ClientIDMode.Static; placeholder_totales.Controls.Clear(); string fieldstofixed = ""; if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaA) { decimal total = 0m; string stringLabel = "SubTotal:"; string stringTotal = Factura.GetTotalSinIva().ToString("0.00"); placeholder_totales.Controls.Add(GetTotalControl("SubTotal", stringLabel, stringTotal)); fieldstofixed = fieldstofixed + "SubTotalValue"; List <decimal> MisIvas = Factura.GetIvasInscriptos(); total = total + Factura.GetTotalSinIva(); if (MisIvas != null) { for (int a = 0; a < MisIvas.Count; a++) { decimal totaliva = Factura.GetTotalDeInsceripcionIva(MisIvas[a]); placeholder_totales.Controls.Add(GetTotalControl("IVAInsc" + a.ToString(), "IVA. Insc: " + MisIvas[a] + " % ", totaliva.ToString("0.00"))); fieldstofixed = fieldstofixed + "," + "IVAInsc" + a.ToString() + "Value"; total = total + totaliva; } } placeholder_totales.Controls.Add(GetTotalControl("FinalTotal", "Total:", total.ToString("0.00"))); fieldstofixed = fieldstofixed + "," + "FinalTotalValue"; } if (Factura.FacturaTipo == Struct_Factura.TipoDeFactura.FacturaB) { placeholder_totales.Controls.Add(GetTotalControl("FinalTotal", "Total:", Factura.GetTotalConIvaIncluido().ToString("0.00"))); fieldstofixed = fieldstofixed + "FinalTotalValue"; } hf_fixedfields.Value = fieldstofixed; } } }
public static List <Struct_Factura> GetFacturasBetweenDates(DateTime START, DateTime END, int p_UserID, bool p_printed, TipoDeFactura TF) { string T; switch (TF) { case TipoDeFactura.FacturaA: T = "A"; break; case TipoDeFactura.FacturaB: T = "B"; break; case TipoDeFactura.FacturaC: T = "C"; break; case TipoDeFactura.FacturaX: T = "X"; break; case TipoDeFactura.Presupuesto: T = "P"; break; default: T = "0"; break; } Data2.Connection.D_Factura Conn = new Connection.D_Factura(); List <Struct_Factura> FL = new List <Struct_Factura>(); List <DataTable> DT_L = Conn.GetFacturasBetweenDates(p_UserID, START, END, T, p_printed); if (DT_L[0] != null) { foreach (DataRow R in DT_L[0].Rows) { FL.Add(new Struct_Factura(R)); } } //Comprobacion de objetos en listado.... String StringMe = ""; if (DT_L[1] != null) { foreach (DataRow R in DT_L[1].Rows) { Struct_Remito _Remito = new Struct_Remito(R); Struct_Factura _F = new Struct_Factura(_Remito); FL.Add(_F); } } if (FL.Count > 0) { foreach (Struct_Factura I in FL) { StringMe = ";" + I.IsRemito.ToString(); Log.ADD(StringMe, null); } return(FL); } else { return(null); } }