Пример #1
0
        /// <summary>
        ///
        /// Almacen del Appoiment
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void asignarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (frmShiftAppointment frm = new frmShiftAppointment())
            {
                AppointmentBE app = new AppointmentBE();
                frm.Profesional         = profesional;
                frm.State               = Fwk.Bases.EntityUpdateEnum.NEW;
                app.Status              = (int)AppoimantsStatus_SP.Reservado;
                app.ResourceId          = profesional.IdProfesional;
                app.HealthInstitutionId = ServiceCalls.CurrentHealthInstitution.HealthInstitutionId;

                DateTime            date = Fwk.HelperFunctions.DateFunctions.GetStartDateTime(this.Date);
                List <TimespamView> wTimespamViewList = null;
                try
                {
                    wTimespamViewList = GetSelectedShifts();
                }
                catch (Exception ex)
                {
                    this.ExceptionViewer.Show(ex);
                    return;
                }
                app.Start    = date.Add(wTimespamViewList[0].Time);
                app.Duration = wTimespamViewList[0].Duration;
                if (wTimespamViewList.Count > 1)
                {
                    app.End = date.Add(wTimespamViewList[wTimespamViewList.Count - 1].Time);
                }
                else
                {
                    app.End = date.Add(wTimespamViewList[0].Time).AddMinutes(wTimespamViewList[0].Duration);
                }

                frm.currentApt = app;
                frm.Refresh();
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    ///todo: analizar como crear grupos de turnos
                    foreach (TimespamView timeView in wTimespamViewList)
                    {
                        timeView.Appointment = app;
                    }
                    try
                    {
                        ServiceCalls.CreateAppointments(app);
                        if (OnCreateAppoimentsEvent != null)
                        {
                            OnCreateAppoimentsEvent(app, new EventArgs());
                        }
                    }

                    catch (Exception ex)
                    {
                        this.ExceptionViewer.Show(ex);
                    }
                    gridControl2.RefreshDataSource();
                    gridView2.RefreshData();
                }
            }
        }
Пример #2
0
        private void m_sobreturnoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            using (frmShiftAppointment frm = new frmShiftAppointment())
            {
                AppoimantsStatus_SP_type status = (AppoimantsStatus_SP_type)m_sobreturnoToolStripMenuItem.Tag;

                AppointmentBE app = SelectedTimespamView.Appointment.Clone <AppointmentBE>();
                app.Subject       = string.Concat(Enum.GetName(typeof(AppoimantsStatus_SP_type), status), " a las : ", SelectedTimespamView.Appointment.TimeEnd);
                app.Status        = (int)AppoimantsStatus_SP.Reservado;
                app.IsExceptional = true;

                frm.Profesional = profesional;
                frm.State       = Fwk.Bases.EntityUpdateEnum.NEW;

                app.ResourceId          = profesional.IdProfesional;
                app.HealthInstitutionId = ServiceCalls.CurrentHealthInstitution.HealthInstitutionId;
                app.CreationDate        = System.DateTime.Now;
                //DateTime date = Fwk.HelperFunctions.DateFunctions.GetStartDateTime(this.Date);
                //List<TimespamView> wTimespamViewList = null;

                //app.Start = date.Add(wTimespamViewList[0].Time);
                //app.Duration = wTimespamViewList[0].Duration;
                //if (wTimespamViewList.Count > 1)
                //    app.End = date.Add(wTimespamViewList[wTimespamViewList.Count - 1].Time);
                //else
                //    app.End = date.Add(wTimespamViewList[0].Time).AddMinutes(wTimespamViewList[0].Duration);

                frm.currentApt = app;
                frm.Refresh();
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        ServiceCalls.CreateAppointments(app);
                        if (OnCreateAppoimentsEvent != null)
                        {
                            OnCreateAppoimentsEvent(app, new EventArgs());
                        }
                    }

                    catch (Exception ex)
                    {
                        this.ExceptionViewer.Show(ex);
                    }
                    //gridControl2.RefreshDataSource();
                    //gridView2.RefreshData();
                }
            }
            Refresh();
            //UpdateStatus((AppoimantsStatus_SP)m_sobreturnoToolStripMenuItem.Tag);
        }