private void schedulerControl1_AppointmentDrop(object sender, AppointmentDragEventArgs e) { string createEventMsg = "Crear el evento a las {0} el dia {1}."; string moveEventMsg = "Mover el evento desde {0} el dia {1} a las {2} el dia {3}."; bool Crear = false; bool Mover = false; DateTime srcStart = e.SourceAppointment.Start; DateTime newStart = e.EditedAppointment.Start; string msg = (srcStart == DateTime.MinValue) ? String.Format(createEventMsg, newStart.ToShortTimeString(), newStart.ToShortDateString()) : String.Format(moveEventMsg, srcStart.ToShortTimeString(), srcStart.ToShortDateString(), newStart.ToShortTimeString(), newStart.ToShortDateString()); if (msg.Contains("Crear")) Crear = true; if (msg.Contains("Mover")) Mover = true; clsVisita visita = new clsVisita(); if (Mover) { if (!PermitirModificarVisita(e.SourceAppointment)) { e.Allow = false; e.Handled = true; return; } } if (XtraMessageBox.Show(msg + "\r\nProceder?", "Mi Calendario", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { e.Allow = false; e.Handled = true; return; } if (Convert.ToInt64(e.SourceAppointment.CustomFields["IdVisita"]) > 0) { if (Mover) { visita = LogicaNegocios.Calendarios.clsCalendarios.ObtenerVisitaPorId( Convert.ToInt64(e.SourceAppointment.CustomFields["IdVisita"])); } //visita.Id = Convert.ToInt64(e.SourceAppointment.CustomFields["IdVisita"]); //visita.Asunto = e.SourceAppointment.Subject; //visita.Descripcion = e.SourceAppointment.Description; //visita.Ubicacion = e.SourceAppointment.Location; visita.FechaHoraComienzo = e.EditedAppointment.Start; visita.FechaHoraTermino = e.EditedAppointment.End; } else { visita.Id = Convert.ToInt64(e.SourceAppointment.CustomFields["IdVisita"]); visita.Asunto = e.SourceAppointment.Subject; visita.Descripcion = e.SourceAppointment.Description; visita.Ubicacion = e.SourceAppointment.Location; visita.FechaHoraComienzo = e.EditedAppointment.Start; visita.FechaHoraTermino = e.EditedAppointment.End; } if (Crear) { visita.Cliente = LogicaNegocios.Clientes.clsClientesMaster.ObtenerClienteMasterPorId(IdClienteDraw); visita.EstadoBD = Entidades.Enums.Enums.VisitaEstado.Incompleta; if (visita.Cliente.Tipo == Enums.TipoPersona.Cuenta) { ResultadoTransaccion resCuenta = LogicaNegocios.Clientes.clsCuentas.ObtenerCuentaPorIdMaster(visita.Cliente.Id); clsCuenta cuenta = new clsCuenta(); if (resCuenta.Estado == Enums.EstadoTransaccion.Aceptada) cuenta = (clsCuenta)resCuenta.ObjetoTransaccion; if (cuenta != null) visita.Vendedor = cuenta.VendedorAsignado; } else if (visita.Cliente.Tipo == Enums.TipoPersona.Target) { ResultadoTransaccion resCuenta = LogicaNegocios.Clientes.clsTarget.ObtenerTargetPorIdMaster(visita.Cliente.Id); clsTarget target = new clsTarget(); if (resCuenta.Estado == Enums.EstadoTransaccion.Aceptada) target = (clsTarget)resCuenta.ObjetoTransaccion; if (target != null) visita.Vendedor = target.VendedorAsignado; } clsVisitaAsistente asistente = new clsVisitaAsistente(); asistente.Usuario = Base.Usuario.UsuarioConectado.Usuario; asistente.TipoAsistente = Entidades.Enums.Enums.VisitaTipoAsistente.Usuario; visita.Asistentes.Add(asistente); clsParametrosInfo paraminfo = LogicaNegocios.Parametros.clsParametros.ListarParametrosPorTipo(Entidades.Enums.Enums.TipoParametro.ImportanciaVisita); visita.NivelImportancia = paraminfo.Items[0]; // Entidades.Enums.Enums.VisitaNivelImportancia.Baja; } //visita.Vendedor = Base.Usuario.UsuarioConectado.Usuario; visita.UsuarioOrganizador = Base.Usuario.UsuarioConectado.Usuario; Entidades.GlobalObject.ResultadoTransaccion res = LogicaNegocios.Calendarios.clsCalendarios.GuardarVisita(visita); if (res.Estado == Entidades.Enums.Enums.EstadoTransaccion.Aceptada) { } else { MessageBox.Show(res.Descripcion, "Calendario", MessageBoxButtons.OK, MessageBoxIcon.Error); e.Allow = false; e.Handled = true; return; } PopupClientes.Visible = false; //if(schedulerStorage1.Appointments.IsNewAppointment(e.EditedAppointment)) //{ // schedulerStorage1.Appointments.Add(e.EditedAppointment); //} //SincronizarOutlook(); }
private void CargarObjetoVisita() { VisitaActual.Asunto = txtAsunto.Text.Trim(); VisitaActual.Ubicacion = txtUbicacion.Text.Trim(); VisitaActual.Descripcion = txtDescripcion.Text.Trim(); int dia; int mes; int anio; int hora; int minuto; int segundo; dia = txtFechaComienzo.DateTime.Day; mes = txtFechaComienzo.DateTime.Month; anio = txtFechaComienzo.DateTime.Year; hora = txtHoraComienzo.Time.Hour; minuto = txtHoraComienzo.Time.Minute; segundo = txtHoraComienzo.Time.Second; VisitaActual.FechaHoraComienzo = new DateTime(anio, mes, dia, hora, minuto, segundo); dia = txtFechaTermino.DateTime.Day; mes = txtFechaTermino.DateTime.Month; anio = txtFechaTermino.DateTime.Year; hora = txtHoraTermino.Time.Hour; minuto = txtHoraTermino.Time.Minute; segundo = txtHoraTermino.Time.Second; VisitaActual.FechaHoraTermino = new DateTime(anio, mes, dia, hora, minuto, segundo); if (VisitaActual.EstadoBD == Enums.VisitaEstado.Incompleta) VisitaActual.EstadoBD = Enums.VisitaEstado.Planificada_Por_confirmar; VisitaActual.EsRecurrente = false; VisitaActual.NivelImportancia = (clsItemParametro)cboNivelImportancia.SelectedItem; VisitaActual.UsuarioOrganizador = Base.Usuario.UsuarioConectado.Usuario; VisitaActual.EsReplanificada = chkReplanificada.Checked; if (VisitaActual.EsReplanificada) { VisitaActual.FechaReplanificacion = DateTime.Now; VisitaActual.EstadoBD = Enums.VisitaEstado.Planificada_Por_confirmar; } VisitaActual.EsReunionInterna = chkReunionInterna.Checked; VisitaActual.Asistentes = new List<clsVisitaAsistente>(); if (chkReunionInterna.Checked) { VisitaActual.Cliente = null; VisitaActual.Vendedor = null; } else { VisitaActual.Cliente = (clsClienteMaster)cboCliente.SelectedItem; VisitaActual.Vendedor = null; for (int i = 0; i < cboVendedor.Properties.Items.Count; i++) { if (cboVendedor.Properties.Items[i].ToString().Trim().ToUpper() == txtVendedor.Text.Trim().ToUpper()) cboVendedor.SelectedIndex = i; } if (cboVendedor.SelectedIndex != 0) { VisitaActual.Vendedor = (clsUsuario)this.cboVendedor.SelectedItem; } foreach (clsContacto usuario in lstAsistentesCliente.CheckedItems) { clsVisitaAsistente asistente = new clsVisitaAsistente(); asistente.Contacto = usuario; asistente.TipoAsistente = Enums.VisitaTipoAsistente.Contacto; asistente.Confirmo = Enums.VisitaEstadoAsistente.Pendiente; VisitaActual.Asistentes.Add(asistente); } } foreach (var asiste in ((IList<AsistentesCraft>)grdAsistentesCraft.DataSource)) { if (asiste.Asiste) { clsVisitaAsistente asistente = new clsVisitaAsistente(); asistente.Usuario = asiste.Usuario; asistente.TipoAsistente = Enums.VisitaTipoAsistente.Usuario; asistente.Confirmo = Enums.VisitaEstadoAsistente.Pendiente; VisitaActual.Asistentes.Add(asistente); } } }
public static IList<clsVisitaAsistente> ObtenerAsistentesDeVisita(Int64 IdVisita) { SqlDataReader dreader = null; clsVisitaAsistente asistente = null; IList<clsVisitaAsistente> listaasistentes = new List<clsVisitaAsistente>(); SqlConnection conn = null; try { conn = BaseDatos.NuevaConexion(); objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_CALENDARIO_VISITA_ASISTENTES_POR_ID_VISITA"); objParams[0].Value = IdVisita; SqlCommand command = new SqlCommand("SP_C_CALENDARIO_VISITA_ASISTENTES_POR_ID_VISITA", conn); command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; dreader = command.ExecuteReader(); while (dreader.Read()) { asistente = new clsVisitaAsistente(); asistente.Id = Convert.ToInt64(dreader["Id"]); asistente.IdVisita = Convert.ToInt64(dreader["IdVisita"]); if (dreader["IdUsuario"] is DBNull) asistente.Usuario = null; else asistente.Usuario = Usuarios.clsUsuarioADO.ObtenerUsuarioPorId(Convert.ToInt16(dreader["IdUsuario"])); if (dreader["IdContacto"] is DBNull) asistente.Contacto = null; else asistente.Contacto = Clientes.clsContactoADO.ObtenerContactoPorId(Convert.ToInt16(dreader["IdContacto"])); asistente.TipoAsistente = (Enums.VisitaTipoAsistente)Convert.ToInt16(dreader["TipoAsistente"]); asistente.Confirmo = (Enums.VisitaEstadoAsistente)Convert.ToInt16(dreader["Asistio"]); listaasistentes.Add(asistente); } } catch (Exception ex) { Base.Log.Log.EscribirLog(ex.Message); } finally { conn.Close(); } return listaasistentes; }
private static ResultadoTransaccion AgregarAsistente(clsVisitaAsistente asistente, Int64 idVisita, SqlTransaction transaction) { resTransaccion = new ResultadoTransaccion(); try { objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_N_CALENDARIO_VISITA_ASISTENTE"); objParams[0].Value = idVisita; if (asistente.Usuario == null) objParams[1].Value = -1; else objParams[1].Value = asistente.Usuario.Id; if (asistente.Contacto == null) objParams[2].Value = -1; else objParams[2].Value = asistente.Contacto.Id; objParams[3].Value = asistente.TipoAsistente; objParams[4].Value = asistente.Confirmo; SqlCommand command = new SqlCommand("SP_N_CALENDARIO_VISITA_ASISTENTE", BaseDatos.Conexion()); command.Transaction = transaction; command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; asistente.Id = Convert.ToInt64(command.ExecuteScalar()); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(asistente.GetType().ToString(), asistente.Id, Enums.TipoActividadUsuario.Creo, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; Log.EscribirLog(ex.Message); } return resTransaccion; }
private static ResultadoTransaccion EliminarAsistente(clsVisitaAsistente asistente, SqlTransaction transaction) { resTransaccion = new ResultadoTransaccion(); try { objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_E_CALENDARIO_VISITA_ASISTENTE"); objParams[0].Value = asistente.Id; SqlCommand command = new SqlCommand("SP_E_CALENDARIO_VISITA_ASISTENTE", BaseDatos.Conexion()); command.Transaction = transaction; command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; command.ExecuteNonQuery(); resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada; //Registrar Actividad LogActividadUsuarios log = new LogActividadUsuarios(asistente.GetType().ToString(), asistente.Id, Enums.TipoActividadUsuario.Elimino, Base.Usuario.UsuarioConectado.Usuario); LogActividades.clsLogActividadUsuariosADO.GuardaActividad(log); } catch (Exception ex) { resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada; resTransaccion.Descripcion = ex.Message; Log.EscribirLog(ex.Message); } return resTransaccion; }