Beispiel #1
0
        /// <summary>
        /// Recupera o crea un servicio programado de un servicio de calendario
        /// </summary>
        /// <param name="servicioDeCalendarioSemanal"></param>
        /// <returns></returns>
        private Entidades.Serviciosprogramado RecuperarServicioProgramadoDeServicioCalendario(Entidades.UspCalendarioSemanalServiciosReturnModel servicioDeCalendarioSemanal)
        {
            Entidades.Serviciosprogramado servicioProgramad;
            //La primera vez que se ven los detalles del servicio se crea el objeto en la base de datos
            if (servicioDeCalendarioSemanal.ServicioProgramadoId.HasValue)
            {
                servicioProgramad = ServiciosProgramadosRepo.RecuperarPorId(servicioDeCalendarioSemanal.ServicioProgramadoId.Value);
            }
            else
            {
                servicioProgramad = new Entidades.Serviciosprogramado()
                {
                    FechaServicio = servicioDeCalendarioSemanal.FechaServicio.Value,
                    ClienteId     = servicioDeCalendarioSemanal.ClienteId.Value,
                    ServicioId    = servicioDeCalendarioSemanal.ServicioId.Value,
                    Tipo          = "Programado",
                    Activo        = true,
                    Borrado       = false,
                    Cancelado     = false,
                    Prioridad     = 1000,
                    ProgramacionServiciosClientesId = servicioDeCalendarioSemanal.ProgramacionServiciosClienteId,
                    Observaciones = "",
                    Clientes      = ClientesRepositorio.RecuperarPorId(servicioDeCalendarioSemanal.ClienteId.Value),
                    Programacionservicioscliente = this.ProgramacionServiciosClienteRepositorio.RecuperarPorId(servicioDeCalendarioSemanal.ProgramacionServiciosClienteId.Value)
                };

                servicioProgramad = ServiciosProgramadosRepo.Crear(servicioProgramad);
            }

            return(servicioProgramad);
        }
Beispiel #2
0
        public override Ticket Crear(Ticket entidad)
        {
            Entidades.Serviciosprogramado serviciosprogramado = null;

            if (entidad.ServicioProgramadoId == 0 && entidad.Serviciosprogramado == null)
            {
                serviciosprogramado = dbContext.Serviciosprogramados.FirstOrDefault(w => w.ClienteId == entidad.ClienteId && w.ServicioId == entidad.ServicioId && w.FechaServicio == entidad.Fecha);

                if (serviciosprogramado == null)
                {
                    //Existe una programación?
                    int    f         = (int)entidad.Fecha.DayOfWeek + 1;
                    string diaCadena = f.ToString();

                    //Existe una programación?
                    var programacionCLiente = dbContext.Programacionserviciosclientes.FirstOrDefault(w => w.ClienteId == entidad.ClienteId && w.ServicioId == entidad.ServicioId && (w.FechaInicio <= entidad.Fecha && (w.FechaTermino == null || entidad.Fecha <= w.FechaTermino)) && w.Borrado == false && w.Activo == true && w.Programacionservicio.Dias.Contains(diaCadena));

                    serviciosprogramado = new Serviciosprogramado()
                    {
                        Borrado       = false,
                        Activo        = true,
                        Cancelado     = false,
                        Prioridad     = 1000,
                        ClienteId     = entidad.ClienteId,
                        FechaServicio = entidad.Fecha.Date,
                        Observaciones = "",
                        ServicioId    = entidad.ServicioId,
                        Tipo          = programacionCLiente == null ? "Express" : "Programado",
                        ProgramacionServiciosClientesId = programacionCLiente == null ? null : (Nullable <int>)programacionCLiente.ProgramacionServiciosClienteId,
                        Clientes  = entidad.Clientes,
                        Servicio  = entidad.Servicio,
                        Realizado = true
                    };

                    //Se agrega servicio programado si no existe
                    serviciosprogramado = ServiciosProgramadosRepositorio.Crear(serviciosprogramado);
                    serviciosprogramado.ServicioProgramadoId = serviciosprogramado.ServicioProgramadoId;
                }


                //Se agrega el operador si no existe
                if (entidad.Operador != null && entidad.Operador.OperadorId == 0)
                {
                    entidad.Operador   = OperadoresRepositorio.Crear(entidad.Operador);
                    entidad.OperadorId = entidad.Operador.OperadorId;
                }

                entidad.Serviciosprogramado = serviciosprogramado;
            }


            //El servicio programado hay que marcarlo como realizado sino lo está
            if (!serviciosprogramado.Realizado)
            {
                serviciosprogramado.Realizado = true;
                ServiciosProgramadosRepositorio.Actualizar(serviciosprogramado);
            }

            return(base.Crear(entidad));
        }
Beispiel #3
0
        private void CalendarioUC_CapturarTicketServicio(object sender, object e)
        {
            Entidades.UspCalendarioSemanalServiciosReturnModel servicioCalendario = (e as Entidades.UspCalendarioSemanalServiciosReturnModel);
            Entidades.Serviciosprogramado servicioProgramad = null;

            servicioProgramad = RecuperarServicioProgramadoDeServicioCalendario(servicioCalendario);

            var formularioCapturaTicket = new Formularios.Operacion.CapturaDeTicketForm(servicioProgramad);

            formularioCapturaTicket.ShowDialog();
        }
Beispiel #4
0
        private async void CalendarioUC_CancelarServicio(object sender, object e)
        {
            DialogResult respuesta = MessageBox.Show("¿Esta seguro que desa cancelar este servicio?", "Cancelación de servicio", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button1);

            if (respuesta == DialogResult.Yes)
            {
                Entidades.Serviciosprogramado servicioProramado = (e as Entidades.Serviciosprogramado);
                servicioProramado.Cancelado = true;
                await ServiciosProgramadosRepo.ActualizarAsync(servicioProramado);

                btnActualizar_Click(sender, null);
            }

            return;
        }
Beispiel #5
0
        protected void CalendarioUC_MoverServicio(object sender, object servicio)
        {
            var servicioDeCalendarioSemanal = servicio as Entidades.UspCalendarioSemanalServiciosReturnModel;

            Entidades.Serviciosprogramado servicioProgramad = null;

            servicioProgramad = RecuperarServicioProgramadoDeServicioCalendario(servicioDeCalendarioSemanal);

            var editarServicioFormulario = new Operacion.EditarServicio();

            editarServicioFormulario.ObjetoEditable = servicioProgramad;
            editarServicioFormulario.ModoEditar     = true;

            editarServicioFormulario.serviciosProgramadosUC.ServicioProgramadoGuardado += (sender_servicioguardado, servicioGuardado) =>
            {
                btnActualizar_Click(sender_servicioguardado, null);
            };

            editarServicioFormulario.ShowDialog();
        }