public AddPrelevement(Guid currentPompe, Guid prelevToMod)
        {
            InitializeComponent();

            new Task(() =>
            {
                Dispatcher.BeginInvoke(new Action(async () =>
                {
                    if (currentPompe == Guid.Empty)
                    {
                        ModernDialog.ShowMessage("Selectionner un Pistolet", "EStation", MessageBoxButton.OK);
                        Close();
                        return;
                    }

                    var curPomp = App.Store.Pompes.Get(currentPompe);
                    if (curPomp.CiterneGuid != null)
                    {
                        var citerneBalance = await App.Store.Citernes.GetCiterneFuelBalance((Guid)curPomp.CiterneGuid);

                        if (citerneBalance <= 0)
                        {
                            ModernDialog.ShowMessage("Il n'ya pas de carburant dans le Citerne", "EStation", MessageBoxButton.OK);
                            Close();
                            return;
                        }

                        _TITLE_TEXT.Text = "Prélèvement ".ToUpper() + curPomp.Libel.ToUpper();
                        _derPrelev = await App.Store.Pompes.GetLastPrelevement(currentPompe);
                        _COMPTEUR_M.Minimum = _derPrelev.Meter;
                        _COMPTEUR_M.Maximum = _derPrelev.Meter + citerneBalance;
                        _RESULT.Maximum = citerneBalance;
                    }
                    else
                    {
                        Close();
                        return;
                    }

                    if (prelevToMod == Guid.Empty)
                    {
                        _isAdd = true;

                        _GRID.DataContext = new FuelPrelevement
                        {
                            PompeGuid = currentPompe,
                            DatePrelevement = DateTime.Now,
                            Meter = _derPrelev.Meter,
                            Result = 0
                        };
                    }
                    else
                        _GRID.DataContext = App.Store.Pompes.GetPrelevement(prelevToMod);
                }));
            }).Start();
        }
示例#2
0
        public bool Put(FuelPrelevement myPrelevement)
        {
            using (var db = new StationContext())
            {
                myPrelevement.LastEditDate = DateTime.Now;

                db.Set<FuelPrelevement>().Attach(myPrelevement);
                db.Entry(myPrelevement).State = EntityState.Modified;
                return db.SaveChanges() > 0;
            }
        }
示例#3
0
        public async Task<bool> Post(FuelPrelevement myPrelevement)
        {
            using (var db = new StationContext())
            {
                if (myPrelevement.PrelevementGuid == Guid.Empty) myPrelevement.PrelevementGuid = Guid.NewGuid();

                var citerneGuid = db.Pompes.Find(myPrelevement.PompeGuid).CiterneGuid;
                if (citerneGuid != null)
                    myPrelevement.CiterneGuid = (Guid)citerneGuid;
                else
                    throw new ArgumentException("CAN_NOT_FIND_CITERNE");
               
                myPrelevement.CurrentPrice = (await FuelManager.GetFuelCurrentPrice(db.Pompes.Find(myPrelevement.PompeGuid).Citerne.FuelGuid));

                myPrelevement.DateAdded = DateTime.Now;
                myPrelevement.LastEditDate = DateTime.Now;

                db.Set<FuelPrelevement>().Add(myPrelevement);
                return await db.SaveChangesAsync() > 0;
            }
        }