Ejemplo n.º 1
0
        /// <summary>Загружаем данные слоя</summary>
        /// <param name="wDoc"> xml-файл с данными </param>
        /// <param name="wRule"> правила слоя </param>
        /// <returns></returns>
        internal Data.DataLayer LoadData(XmlDocument wDoc, LayerRule wRule)
        {
            var res = new Data.DataLayer(wRule);

            res.LoadData(wDoc);
            return(res);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// display the manual overrides used
 /// </summary>
 private void LoadManualOverrides()
 {
     using (Data.DataLayer dl = new Data.DataLayer())
     {
         OverridesGridView.DataSource = dl.GetManualOverrides();
         OverridesPage.Text           = string.Format("Structured Trade Rates({0})", OverridesGridView.RowCount);
     }
 }
Ejemplo n.º 3
0
        private void ImportScreen_Load(object sender, EventArgs e)
        {
            Data.DataLayer dl = new Data.DataLayer();
            ConnectionInfoLabel.Text = dl.GetConnectionInfo();
#if DEBUG
            ConnectionInfoLabel.Text += "\r\nDEBUG";
#endif
        }
Ejemplo n.º 4
0
        /// <summary>
        /// display the bloomberg vols/rates used
        /// </summary>
        private void LoadBloombergData()
        {
            using (Data.DataLayer dl = new Data.DataLayer())
            {
                BloombergVolsGridView.DataSource = dl.GetBloombergData_Volatilities(vm.ValuationDate);
                BloombergVolsPage.Text           = string.Format("Bloomberg Vols({0})", BloombergVolsGridView.RowCount);

                BloombergRatesGridView.DataSource = dl.GetBloombergData_Rates(vm.ValuationDate);
                BloombergRatesPage.Text           = string.Format("Bloomberg Rates({0})", BloombergRatesGridView.RowCount);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// delete existing override
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteOverrideStripButton_Click(object sender, EventArgs e)
        {
            using (Data.DataLayer dl = new Data.DataLayer())
            {
                try
                {
                    int id = int.Parse(SecurityIDTextBox.Text);

                    dl.DeleteManualOverride(id);
                }
                catch (Exception)
                {
                    MessageBox.Show("Could not delete override details", "Delete overrides");
                }

                LoadManualOverrides();
            }
        }
Ejemplo n.º 6
0
        private void CopyVolsRatesBtn_Click(object sender, EventArgs e)
        {
            using (Data.DataLayer dl = new Data.DataLayer())
            {
                try
                {
                    DateTime PriceDateFrom = FromDTP.Value.Date;
                    DateTime PriceDateTo   = ToDTP.Value.Date;

                    dl.CopyVolatilitiesAndRates(PriceDateFrom, PriceDateTo);
                }
                catch (Exception)
                {
                    MessageBox.Show("Could not copy vols/rates", "Copy Vols/Rates");
                }

                MessageBox.Show("Vols/Rates copied - re-run the valuation", "Copy Vols/Rates");
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// update/add override values
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveOverrideStripButton_Click(object sender, EventArgs e)
        {
            using (Data.DataLayer dl = new Data.DataLayer())
            {
                try
                {
                    int id = int.Parse(SecurityIDTextBox.Text);

                    double vol = 0;
                    if (VolTextBox.Text != "")
                    {
                        vol = double.Parse(VolTextBox.Text);
                    }

                    double rate = 0;
                    if (RateTextBox.Text != "")
                    {
                        rate = double.Parse(RateTextBox.Text);
                    }

                    double div = double.Parse(DividendTextBox.Text); // must be double

                    // now we need to put the div in the format which includes ex date i.e. exDate(divRate).
                    // Not sure why, but other things rely on this format
                    // The format is expected in DataLayer.GetDividends_ManualOverride()
                    string exDateAndDivRate = exDatePicker.Value.ToString("dd/MM/yy") + "(" + DividendTextBox.Text + ")";

                    dl.SaveManualOverride(id, vol, rate, exDateAndDivRate);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Could not save override details: \r\n" + ex.Message, "Save overrides");
                }

                LoadManualOverrides();
            }
        }
        public AppointmentModule()
        {
            this.RequiresAuthentication();

            Get("/api/appointment", action: async(args, ct) =>
            {
                var dl  = new Data.DataLayer();
                var dbo = await dl.GetAppointments(Context.CurrentUser.Identity.Name);
                var dto = dbo.Select(MapToDto).ToArray();
                return(Response.AsJson(dto));
            });

            Put("/api/appointment", action: async(args, ct) =>
            {
                var dl  = new Data.DataLayer();
                var dto = this.Bind <Models.Appointment>();

                var dbo = new Data.Appointment
                {
                    ExternalId = Guid.NewGuid(),
                    CreateOn   = DateTime.UtcNow,
                    Type       = Data.AppointmentType.Planning,
                    Date       = dto.Date,
                    UserId     = Context.CurrentUser.Identity.Name
                };
                dbo.Type = Enum.Parse <Data.AppointmentType>(dto.Type);

                await dl.SaveAppointment(dbo);


                return(HttpStatusCode.Created);
            });

            Post("/api/appointment/{id}", action: async(args, ct) =>
            {
                var dl  = new Data.DataLayer();
                var id  = Guid.Parse(args.id);
                var dto = this.Bind <Models.Appointment>();
                Data.Appointment dbo = await dl.GetAppointment(id, Context.CurrentUser.Identity.Name);

                dbo.Date = dto.Date;
                dbo.Type = Enum.Parse <Data.AppointmentType>(dto.Type);

                await dl.SaveAppointment(dbo);

                return(HttpStatusCode.OK);
            });


            Put("/api/appointment/{id}/participant/{name}", action: async(args, ct) =>
            {
                var id   = Guid.Parse(args.id);
                var name = args.name;

                var dl = new Data.DataLayer();
                Data.Appointment dbo = await dl.GetAppointment(id, Context.CurrentUser.Identity.Name);
                if (dbo.Participants == null)
                {
                    dbo.Participants = new List <Data.Participant>();
                }
                var participant = dbo.Participants.FirstOrDefault(x => x.Name == name);
                if (participant == null)
                {
                    participant = new Data.Participant
                    {
                        Name      = name,
                        CreatedAt = DateTime.UtcNow
                    };
                    dbo.Participants.Add(participant);
                }
                participant.DeletedAt = null;

                await dl.SaveAppointment(dbo);

                return(HttpStatusCode.Created);
            });

            Delete("/api/appointment/{id}/participant/{name}", action: async(args, ct) =>
            {
                var dl = new Data.DataLayer();

                var id   = Guid.Parse(args.id);
                var name = args.name;

                Data.Appointment dbo = await dl.GetAppointment(id, Context.CurrentUser.Identity.Name);
                if (dbo.Participants == null)
                {
                    dbo.Participants = new List <Data.Participant>();
                }
                var participant = dbo.Participants.FirstOrDefault(x => x.Name == name);
                if (participant != null)
                {
                    participant.DeletedAt = DateTime.UtcNow;
                }
                await dl.SaveAppointment(dbo);
                return(HttpStatusCode.OK);
            });
        }