示例#1
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);
            }
        }
示例#2
0
        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();
        }
示例#3
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);
            }
        }
示例#4
0
        public PrelevCard(FuelPrelevement prelevement)
        {
            PrelevementGuid = prelevement.PrelevementGuid;
            Pompe           = $"{prelevement.Pompe.Libel.ToLower().Titleize()} ({prelevement.Pompe.Colonne.ToLower().Titleize()})";
            DatePrelev      = prelevement.DatePrelevement.GetValueOrDefault().ToString("dd MMM yy - HH:mm");
            Fuel            = prelevement.Pompe.Citerne.Fuel.Libel + " (" + DatePrelev + ")";
            Meter           = prelevement.Meter.ToString("0.##");
            Result          = prelevement.Result.ToString("0.## 'Litres'");

            //var curBalance = CiternesManager.StaticGetCiterneFuelBalance(citerne.CiterneGuid);
            //CurrentStock = curBalance.ToString("0.##\\L") + " en stock /" + citerne.MaxCapacity.ToString("0.##\\L");
            //Pourcentage = ((curBalance * 100) / citerne.MaxCapacity).ToString("0.##\\%");
        }