示例#1
0
 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("");
 }
示例#2
0
        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);
                }
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
                    }
                }
            }
        }
示例#5
0
        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");
            }
        }
示例#6
0
        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;
                }
            }
        }
示例#7
0
        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);
            }
        }