/// <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); }
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)); }
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(); }
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; }
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(); }