예제 #1
0
        protected void CerrarTurno()
        {
            var   instance  = ControlGeneral.GetInstance();
            bool  respuesta = false;
            Turno turno     = new Turno();

            foreach (var item in instance.VMSucursalesLocal.ListaDeSucursales)
            {
                if (turno.EstatusTurno(item.Licencia, UidSucursal: item.UidSucursal))
                {
                    respuesta = true;
                }
            }
            if (!respuesta)
            {
                Ticket2 t = new Ticket2();

                VMUsuarios MVusuario = new VMUsuarios();
                MVusuario.BusquedaDeUsuario(new Guid(instance.Principal.UidUsuario));
                VMTurno MVTurno = new VMTurno();
                MVTurno.TurnoCallCenter(new Guid(instance.Principal.UidUsuario));
                MVTurno.InformacionTurnoCallCenter(new Guid(instance.Principal.UidUsuario));

                t.AddHeaderLine("========Informacion del turno======");
                t.AddHeaderLine("Usuario: " + instance.Principal.StrNombre + "");
                t.AddHeaderLine(" Folio: " + instance.Principal.oTurno.LngFolio + "");
                t.AddHeaderLine("Inicio: " + instance.Principal.oTurno.StrHoraInicio + "");
                t.AddHeaderLine("   Fin: " + MVTurno.DtmHoraFin.ToString() + "");
                t.AddHeaderLine("===================================");
                t.AddHeaderLine("====Información de sucursales======");
                t.AddHeaderLine("===================================");
                int     cantidadDeOrdenes = 0;
                decimal Total             = 0;
                int     OrdenesTerminadas = 0;
                int     OrdenesCanceladas = 0;
                //Informacion de la empresa
                foreach (var item in instance.VMSucursalesLocal.ListaDeSucursales)
                {
                    //Informacion de ordenes
                    VMOrden MVOrden = new VMOrden();
                    MVOrden.InformacionDeOrdenesDeTurnoSuministradoraTurnoCallCenter(item.UidSucursal.ToString(), MVTurno.UidTurno);

                    t.AddHeaderLine("          " + item.NombreEmpresa + "");
                    t.AddHeaderLine("Sucursal  " + item.NombreSucursal + "");
                    //Datos de turno sucursal
                    MVTurno.ConsultarTurnoSuministradoraDesdeCallCenter(item.Licencia.ToString(), MVTurno.UidTurno);
                    //MVTurno.ConsultarUltimoTurnoSuministradora(item.Licencia.ToString());
                    t.AddHeaderLine("Folio:" + MVTurno.LngFolio + "");
                    t.AddHeaderLine("Inicio:" + MVTurno.DtmHoraInicio + "");
                    t.AddHeaderLine("   Fin:" + MVTurno.DtmHoraFin + "");

                    cantidadDeOrdenes = cantidadDeOrdenes + MVOrden.ListaDeOrdenes.Count;
                    int     ordenesucursalescanceladas = 0;
                    decimal TotalSucursal             = 0;
                    decimal OrdenesTerminadasSucursal = 0;

                    foreach (var o in MVOrden.ListaDeOrdenes)
                    {
                        switch (o.UidEstatus.ToString().ToUpper())
                        {
                        //Ordenes concluidas
                        case "E2BAD7D9-9CD0-4698-959D-0A211800545F":
                            OrdenesTerminadas         += 1;
                            OrdenesTerminadasSucursal += 1;
                            TotalSucursal             += o.MTotal;
                            Total = Total + o.MTotal;
                            break;

                        //Orden cancelada
                        case "EAE7A7E6-3F19-405E-87A9-3162D36CE21B":
                            OrdenesCanceladas          += 1;
                            ordenesucursalescanceladas += 1;
                            break;
                        }
                    }
                    t.AddHeaderLine("     Total de ordenes: " + MVOrden.ListaDeOrdenes.Count + "");
                    t.AddHeaderLine("          Completadas: " + OrdenesTerminadasSucursal.ToString() + "");
                    t.AddHeaderLine("           Canceladas: " + ordenesucursalescanceladas.ToString() + "");
                    t.AddHeaderLine("                 Caja: " + TotalSucursal.ToString("N2") + "");
                    t.AddHeaderLine("===================================");
                }
                t.AddHeaderLine("=====Información de General========");
                t.AddHeaderLine("===================================");
                t.AddHeaderLine("         Total de ordenes:  " + cantidadDeOrdenes.ToString() + "");
                t.AddHeaderLine("      Ordenes completadas:  " + OrdenesTerminadas.ToString() + "");
                t.AddHeaderLine("       Ordenes canceladas:  " + OrdenesCanceladas.ToString() + "");
                t.AddHeaderLine("           Dinero en caja:  " + Total.ToString("N2") + "");
                //Informacion del turno

                //Obtiene la bitacora de las liquidaciones del turno
                t.FontSize = 6;
                t.AddHeaderLine("                            ");
                t.AddHeaderLine("      www.godeliverix.com.mx");
                t.PrintTicket("PDFCreator");



                instance.Principal.VisibilidadCerrarTurno = Visibility.Hidden;
                instance.Principal.VisibilidadInicioTurno = Visibility.Visible;
                instance.Principal.UidUsuario             = null;
                instance.Principal.StrNombre = string.Empty;
                instance.Principal.oTurno    = null;
            }
        }
예제 #2
0
        public void ControlTurno()
        {
            var instance = ControlGeneral.GetInstance();

            if (oTurno == null)
            {
                VMTurno MVTurno = new VMTurno();
                if (!MVTurno.TurnoYaabiertoEnTurnoCallCenter(UidSucursal, instance.Principal.UidUsuario))
                {
                    oTurno = new Turno()
                    {
                        UidUsuario = new Guid(instance.Principal.UidUsuario), UidLicencia = Licencia
                    };
                    oTurno.ControlDeTurno();
                    MVTurno.ConsultarUltimoTurnoSuministradora(Licencia.ToString());

                    MVTurno.RelacionTurnoSuministradoraCallcenter(MVTurno.UidTurno, instance.Principal.oTurno.UidTurno);

                    StrEstatusTurno = "Terminar";
                    CcolorTurno     = Brushes.Red;
                }
                else
                {
                    MessageBox.Show("No puedes abrir 2 veces el turno de una sucursal dentro de tu turno");
                }
            }
            else if (oTurno != null)
            {
                VMOrden MVOrden = new VMOrden();
                MVOrden.InformacionDeOrdenesDeTurnoSuministradoraTurnoCallCenter(UidSucursal.ToString(), instance.Principal.oTurno.UidTurno);
                bool PosibilidadDeCerrar = true;
                if (MVOrden.ListaDeOrdenes.Count > 0)
                {
                    foreach (var o in MVOrden.ListaDeOrdenes)
                    {
                        if (o.UidEstatus.ToString().ToUpper() == "E2BAD7D9-9CD0-4698-959D-0A211800545F")
                        {
                            PosibilidadDeCerrar = true;
                        }
                        else
                        {
                            PosibilidadDeCerrar = false;
                        }
                    }
                }

                if (PosibilidadDeCerrar)
                {
                    //VMTurno MVTUrno = new VMTurno();
                    //MVTUrno.InformacionDeCierreDeTurnoSucursalSuministradora("Suministradora", UidLicencia: Licencia.ToString());
                    //oTurno = new Turno() { UidUsuario = new Guid(instance.Principal.UidUsuario), UidLicencia = Licencia };
                    //oTurno.ControlDeTurno();
                    //oTurno = null;
                    //StrEstatusTurno = "Comenzar";
                    //CcolorTurno = Brushes.Green;
                    vistas.Reportes.ReporteCierreTurnoSucursal obj = new vistas.Reportes.ReporteCierreTurnoSucursal(Licencia.ToString());
                    obj.Show();
                }
                else
                {
                    MessageBox.Show("No puedes cerrar turno si no has completado las ordenes");
                }
            }
            //instance.VMSucursalesLocal.ObtenSucursales();
        }