public void OnGetOther(CalcData c)
 {
     Data = new CalcData()
     {
         A = 44, B = 66
     };
 }
 public void OnGetForced(int a, int b)
 {
     Data = new CalcData()
     {
         A = a, B = b
     };
 }
Ejemplo n.º 3
0
        private CalcData GetCalcData()
        {
            CalcData data = new CalcData((long)videoStream.NumberOfFrames, videoStream.Framerate, (ContainerType)container.SelectedItem,
                                         videoStream.Settings.Codec, videoStream.Settings.NbBframes > 0, getAudioStreamsForBitrate());

            return(data);
        }
Ejemplo n.º 4
0
        public ActionResult Calc(InputCalcData data)
        {
            double?result = null;

            switch (data.Op)
            {
            case "+": result = data.Num1 + data.Num2; break;

            case "-": result = data.Num1 - data.Num2; break;

            case "*": result = data.Num1 * data.Num2; break;

            case "/": result = (double)data.Num1 / data.Num2; break;
            }
            CalcData model = null;

            if (result != null)
            {
                model = new CalcData
                {
                    Num1   = data.Num1, Num2 = data.Num2,
                    Op     = data.Op,
                    Result = result.Value
                }
            }
            ;
            return(View("Calc", model));
        }
    }
        public void SetCalcData(CalcData data)
        {
            if (calcData == null)
            {
                calcData = new CalcData();
            }

            calcData = data;
        }
        /// <summary>
        /// postprocesses an audio job followed by a video job
        /// this constellation happens in automated or one click encoding where we have an audio job linked
        /// to a video job
        /// first, any audio jobs previous to the audio job in question will be located
        /// then we get the size of all audio tracks
        /// from the desired final output size stored in the first video job, we calculate the video bitrate
        /// we have to use to obtain the final file size, taking container overhead into account
        /// the calculated bitrate is then applied to all video jobs
        /// </summary>
        /// <param name="firstAudio">the audio job that is linked to a video job</param>
        /// <param name="firstpass">the video job to which the audio job is linked</param>
        public static LogItem calculateBitrate(MainForm mainForm, Job ajob)
        {
            if (!(ajob is VideoJob))
            {
                return(null);
            }
            VideoJob job = (VideoJob)ajob;

            if (job.BitrateCalculationInfo == null)
            {
                return(null);
            }

            BitrateCalculationInfo b = job.BitrateCalculationInfo;
            LogItem log = new LogItem("Bitrate calculation for video");

            List <AudioBitrateCalculationStream> audioStreams = new List <AudioBitrateCalculationStream>();

            foreach (string s in b.AudioFiles)
            {
                audioStreams.Add(new AudioBitrateCalculationStream(s));
            }

            double framerate;
            ulong  framecount;

            JobUtil.getInputProperties(out framecount, out framerate, job.Input);

            CalcData data = new CalcData((long)framecount, (decimal)framerate, b.Container, job.Settings.Codec,
                                         job.Settings.NbBframes > 0, audioStreams.ToArray());

            data.TotalSize = b.DesiredSize;

            try
            {
                data.CalcByTotalSize();
            }
            catch (Exception e)
            {
                log.LogValue("Calculation failed", e, ImageType.Error);
                return(log);
            }

            log.LogValue("Desired size after subtracting audio", Math.Floor(data.VideoSize.KBExact) + " KBs");
            log.LogValue("Calculated desired bitrate", (int)data.VideoBitrate + " kbit/s");

            foreach (TaggedJob t in b.VideoJobs)
            {
                if (t.Job is VideoJob)
                {
                    ((VideoJob)t.Job).Settings.BitrateQuantizer = (int)data.VideoBitrate;
                }
            }

            return(log);
        }
 public string GetCalculaJuros(CalcData _calcData)
 {
     try
     {
         return(_calc.GetCalculaJuros(_calcData));
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Ocorreu um erro no serviço GetCalculaJuros: " + ex.Message);
     }
 }
Ejemplo n.º 8
0
        private void HandleOnesRatings(ref CalcData retVal)
        {
            var copy      = new List <int>(retVal.Ratings);
            var newValues = new List <int>();

            foreach (var val in copy)
            {
                newValues.Add(ConvertValue(val));
            }

            retVal.Ratings = newValues;
        }
Ejemplo n.º 9
0
        public void GetCalculaJuros()
        {
            CalcController controller = new CalcController();
            CalcData       _data      = new CalcData();

            _data.initialValue = 100;
            _data.time         = 5;

            string result = controller.GetCalculaJuros(_data);

            Assert.AreEqual("105,10", result);
        }
Ejemplo n.º 10
0
 public string GetCalculaJuros(CalcData _calcData)
 {
     try
     {
         string result = string.Empty;
         result = (_calcData.initialValue * Math.Pow(interest + 1, _calcData.time)).ToString("n2");
         return(result);
     }
     catch (Exception ex)
     {
         throw new ArgumentException("Ocorreu um erro no serviço GetCalculaJuros: " + ex.Message);
     }
 }
Ejemplo n.º 11
0
        public JsonResult Run()
        {
            var randomDir = Guid.NewGuid().ToString();

            Session["WakeSimDir"] = randomDir;
            var    modelGeneral  = GetModelGeneral();
            var    modelTurbines = GetModelTurbines();
            string dir           = WebConfigurationManager.AppSettings["WakeSimulationDir"];

            dir = Path.Combine(dir, randomDir); // root temp dir
            Directory.CreateDirectory(dir);

            var resultDir = Path.Combine(dir, "output");

            Directory.CreateDirectory(resultDir);

            var calcData    = new CalcData();
            var generalData = new GeneralData();
            var dataWriter  = new DataWriter();
            var calc        = new WakeCalc();

            generalData.GridPointsX    = modelGeneral.GridPointsX;
            generalData.GridPointsY    = modelGeneral.GridPointsY;
            generalData.TurbinesAmount = modelTurbines.Turbines.Count;
            generalData.RotationAngle  = (double)modelGeneral.RotationAngle;
            generalData.x_turb         = new double[modelTurbines.Turbines.Count];
            generalData.y_turb         = new double[modelTurbines.Turbines.Count];
            for (var i = 0; i < modelTurbines.Turbines.Count; i++)
            {
                var t = modelTurbines.Turbines[i];
                generalData.x_turb[i] = (double)t.X;
                generalData.y_turb[i] = (double)t.Y;
            }
            generalData.TurbineDiameter = (double)modelGeneral.TurbineDiameter;
            generalData.TurbineHeight   = (double)modelGeneral.TurbineHeight;
            generalData.TurbineThrust   = (double)modelGeneral.TurbineThrust;
            generalData.WakeDecay       = (double)modelGeneral.WakeDecay;
            generalData.VelocityAtHub   = (double)modelGeneral.VelocityAtHub;
            generalData.AirDensity      = (double)modelGeneral.AirDensity;
            generalData.PowerDistance   = (double)modelGeneral.PowerDistance;

            calc.Initialize(generalData, calcData);
            calc.Run(generalData, calcData);

            dataWriter.Write(generalData, calcData, resultDir);
            dataWriter.WritePower(generalData, calcData, resultDir);

            SharpZipUtils.CompressFolder(resultDir, Path.Combine(dir, "output.zip"), null);

            return(Json("OK", JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        private static int Calc(CalcData data)
        {
            switch (data.Op)
            {
            case "+":
                return(data.Arg1 + data.Arg2);

            case "^":
                return(data.Arg1 ^ data.Arg2);

            default:
                throw new NotSupportedException($"Operation '{data.Op}' is not supported!");
            }
        }
Ejemplo n.º 13
0
 /// <summary>
 /// sets the size of the output given the desired bitrate
 /// </summary>
 private void setTargetSize()
 {
     try
     {
         CalcData data = GetCalcData();
         data.VideoBitrate = Int32.Parse(this.projectedBitrateKBits.Text);
         data.CalcByVideoSize();
         this.videoSize.Text   = data.VideoSize.ToString();
         this.targetSize.Value = new FileSize(Unit.MB, data.TotalSize.MBExact);
     }
     catch (Exception)
     {
         videoSize.Text   = "";
         targetSize.Value = null;
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// sets the projected video bitrate field in the GUI
        /// </summary>
        private void setVideoBitrate()
        {
            try
            {
                CalcData data = GetCalcData();
                data.TotalSize = new FileSize(targetSize.Value.Value.Bytes);
                data.CalcByTotalSize();

                this.videoSize.Text             = data.VideoSize.ToString();
                this.projectedBitrateKBits.Text = ((int)data.VideoBitrate).ToString();
            }
            catch (Exception)
            {
                this.projectedBitrateKBits.Text = "";
                videoSize.Text = "";
            }
        }
Ejemplo n.º 15
0
        void Visit2(Dictionary<string, CalcData> temp, DirStat dir)
        {
            foreach (var file in dir.Files)
            {
                string ext = Path.GetExtension(file.Name);
                CalcData data;
                if (!temp.TryGetValue(ext, out data))
                {
                    data = new CalcData();
                    temp.Add(ext, data);
                }

                data.Bytes += file.Length;
                data.FileCount++;
            }

            foreach (var subDir in dir.Directories)
            {
                Visit2(temp, subDir);
            }
        }
Ejemplo n.º 16
0
    public void Advance(List <Node> points, Action <float> updateForcesFunc, float timeStep)
    {
        PrepareCalcData(points.Count);

        Evaluate(points, updateForcesFunc, 0.0f);
        for (int i = 0; i < points.Count; i++)
        {
            m_calcData[i].a = m_calcData[i].evalResult;
        }

        Evaluate(points, updateForcesFunc, timeStep * 0.5f);
        for (int i = 0; i < points.Count; i++)
        {
            m_calcData[i].b = m_calcData[i].evalResult;
        }

        Evaluate(points, updateForcesFunc, timeStep * 0.5f);
        for (int i = 0; i < points.Count; i++)
        {
            m_calcData[i].c = m_calcData[i].evalResult;
        }

        Evaluate(points, updateForcesFunc, timeStep);
        for (int i = 0; i < points.Count; i++)
        {
            m_calcData[i].d = m_calcData[i].evalResult;
        }

        for (int i = 0; i < points.Count; i++)
        {
            CalcData p        = m_calcData[i];
            Vector3  deltaPos = (1.0f / 6.0f) * (p.a.deltaPosition + 2.0f * (p.b.deltaPosition + p.c.deltaPosition) + p.d.deltaPosition);
            Vector3  deltaVel = (1.0f / 6.0f) * (p.a.deltaVelocity + 2.0f * (p.b.deltaVelocity + p.c.deltaVelocity) + p.d.deltaVelocity);

            points[i].State.Position += deltaPos * timeStep;
            points[i].State.Velocity += deltaVel * timeStep;
        }
    }
Ejemplo n.º 17
0
 private CalcData cleanCalcData(CalcData calcData)
 {
     calcData.SaleItms    = new List <SaleItm>();
     calcData.OrderPrizes = new List <OrderPrize>();
     calcData.DisAccs     = new List <DisAcc>();
     calcData.StockGoods  = new List <StockGoods>();
     //calcData.Customers = new List<Customer>();
     calcData.SaleHdrs             = new List <SaleHdr>();
     calcData.Packages             = new List <Package>();
     calcData.GoodsMainSubTypes    = new List <GoodsMainSubType>();
     calcData.CustomerGroups       = new List <CustomerGroup>();
     calcData.DisSalePrizePackages = new List <DisSalePrizePackage>();
     calcData.CustomerMainSubTypes = new List <CustomerMainSubType>();
     calcData.Goods                     = new List <Goods>();
     calcData.CPrices                   = new List <CPrice>();
     calcData.Discounts                 = new List <Discount>();
     calcData.EvcPrize                  = new List <EvcPrize>();
     calcData.Prices                    = new List <Price>();
     calcData.EvcPrizePackage           = new List <EvcPrizePackage>();
     calcData.FreeReasons               = new List <FreeReason>();
     calcData.DiscountGoodsPackageItems = new List <DiscountGoodsPackageItem>();
     return(calcData);
 }
Ejemplo n.º 18
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string ReportName = "ProjektDB.Reports.CalcMain.rdlc";

            db   = new SteinbachEntities();
            host = new WindowsFormsHost();
            var Calc = from p in db.kalkulationstabellen
                       where p.id == CalcID
                       select p;

            var detail = from d in db.kalkulationstabelle_details
                         where d.id_kalkulationstabelle == CalcID
                         select d;
            var obj = new CalcData(CalcID);



            reportViewer = new Microsoft.Reporting.WinForms.ReportViewer();
            reportViewer.ProcessingMode = ProcessingMode.Local;
            //reportViewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);

            reportViewer.LocalReport.ReportEmbeddedResource = ReportName;       //"ProjektDB.Reports.Jets_Auftrag_SI.rdlc";
            ReportDataSource ds       = new ReportDataSource("dsCalkProjekt", Calc);
            ReportDataSource dsDetail = new ReportDataSource("dsCalcDetails", detail);
            ReportDataSource dsObj    = new ReportDataSource("dsObject", obj.Positionen);

            reportViewer.LocalReport.DataSources.Add(ds);
            reportViewer.LocalReport.DataSources.Add(dsDetail);
            reportViewer.LocalReport.DataSources.Add(dsObj);



            reportViewer.RefreshReport();

            host.Child = reportViewer;
            this.GridDisplay.Children.Add(host);
        }
Ejemplo n.º 19
0
 public ViewResult Index(CalcData calc)
 {
     if (ModelState.IsValid)
     {
         if (calc.TypeCalc)
         {
             double CreditPercent = calc.CreditPercent / 100 / 12;
             calc.MonPay  = calc.CreditCash * (decimal)CreditPercent / (decimal)(1 - 1 / Math.Pow((1 + CreditPercent), calc.CreditTime));
             calc.OverPay = calc.MonPay * calc.CreditTime - calc.CreditCash;
             calc.FullPay = calc.CreditCash + calc.OverPay;
             return(View("Submit", calc));
         }
         else
         {
             double    CreditPercent = calc.CreditPercent / 100 / 12;
             decimal[] mass          = new decimal[calc.CreditTime + 1];
             for (int p = 1; p <= calc.CreditTime; p++)
             {
                 mass[p] = calc.CreditCash / calc.CreditTime + calc.CreditCash * (calc.CreditTime - p + 1) * (decimal)CreditPercent / calc.CreditTime;
             }
             calc.MonthlyPay = mass;
             decimal o = 0;
             foreach (int x in mass)
             {
                 o = o + x;
             }
             calc.OverPay = o - calc.CreditCash;
             calc.FullPay = calc.OverPay + calc.CreditCash;
             return(View("Submit_Dif", calc));
         }
     }
     else
     {
         return(View());
     }
 }
Ejemplo n.º 20
0
 public override CalcData ValidateAdvanceCondition(CalcData data)
 {
     return(data);
 }
Ejemplo n.º 21
0
 public override CalcData CalcPeriodicDiscount(CalcData data)
 {
     return(data);
 }
Ejemplo n.º 22
0
        public ActionResult CalculateBasePrice(decimal margin, decimal import)
        {
            decimal test = 0;

            test = margin;
            try
            {
                var allPB = db.GetPannebakkers().ToList();
                // db.Database.ExecuteSqlCommand("TRUNCATE TABLE [Pannebakker]");

                #region update import value
                var pbSupplier = db.GetSupplierByAccount("PO21");

                pbSupplier.ImportOffSet = Convert.ToDouble(import);

                db.UpdateSupplier(pbSupplier);

                #endregion

                List <ImportModel.Pannebakker> newBatches = new List <ImportModel.Pannebakker>();
                foreach (var b in allPB)
                {
                    if (b.BatchId == 5313)
                    {
                        var fred = 1;
                    }
                    ImportModel.Pannebakker newB   = new ImportModel.Pannebakker();
                    CalcData.Result         result = CalcData.CalMarginPrice(b, margin);
                    decimal price = result.price;
                    if (price != 0)
                    {
                        newB.WholesalePrice = Convert.ToInt32(price);
                    }
                    else
                    {
                        newB.WholesalePrice = Convert.ToInt32(b.Price);
                    }
                    newB.Price          = b.Price;
                    newB.FormSize       = b.FormSize;
                    newB.Location       = "PB";
                    newB.Name           = b.Name;
                    newB.Sku            = b.Sku;
                    newB.WholesalePrice = Convert.ToInt32(price);
                    newB.FormSizeCode   = b.FormSizeCode;
                    newB.FromDate       = b.FromDate;
                    if (price != b.Price)
                    {
                        newB.Comment = "Using Rule " + result.rule + "Price Modified from " + b.Price + " to " + newB.WholesalePrice;
                    }
                    if (price == b.Price)
                    {
                        newB.Comment = "Using Rule " + result.rule + " Price Not Modified";
                    }
                    if (price == 0)
                    {
                        newB.Comment = null;
                    }
                    newBatches.Add(newB);
                }

                db.EmptyPB();
                db.BulkInsertIntoPB(newBatches);

                return(View());
                //return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.InnerException.Message;
                return(View("shit"));
            }
        }
Ejemplo n.º 23
0
        private void fillInitData(CalcData calcData)
        {
            var connection = new SQLiteConnection(new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid(), _db.GetDatabasePath());

            calcData.SaleItms = new List <SaleItm>();
            foreach (var item in connection.Table <SaleItm>())
            {
                calcData.SaleItms.Add(item);
            }
            calcData.OrderPrizes = new List <OrderPrize>();
            foreach (var item in connection.Table <OrderPrize>())
            {
                calcData.OrderPrizes.Add(item);
            }
            calcData.DisAccs = new List <DisAcc>();
            foreach (var item in connection.Table <DisAcc>())
            {
                calcData.DisAccs.Add(item);
            }
            calcData.StockGoods = new List <StockGoods>();
            foreach (var item in connection.Table <StockGoods>())
            {
                calcData.StockGoods.Add(item);
            }
            //calcData.Customers = new List<Customer>();
            //foreach (var item in connection.Table<Customer>())
            //{
            //    calcData.Customers.Add(item);
            //}
            calcData.SaleHdrs = new List <SaleHdr>();
            foreach (var item in connection.Table <SaleHdr>())
            {
                calcData.SaleHdrs.Add(item);
            }
            calcData.Packages = new List <Package>();
            foreach (var item in connection.Table <Package>())
            {
                calcData.Packages.Add(item);
            }
            calcData.GoodsMainSubTypes = new List <GoodsMainSubType>();
            foreach (var item in connection.Table <GoodsMainSubType>())
            {
                calcData.GoodsMainSubTypes.Add(item);
            }
            calcData.CustomerGroups = new List <CustomerGroup>();
            foreach (var item in connection.Table <CustomerGroup>())
            {
                calcData.CustomerGroups.Add(item);
            }
            calcData.DisSalePrizePackages = new List <DisSalePrizePackage>();
            foreach (var item in connection.Table <DisSalePrizePackage>())
            {
                calcData.DisSalePrizePackages.Add(item);
            }
            calcData.CustomerMainSubTypes = new List <CustomerMainSubType>();
            foreach (var item in connection.Table <CustomerMainSubType>())
            {
                calcData.CustomerMainSubTypes.Add(item);
            }
            calcData.GoodsGroups = new List <GoodsGroup>();
            foreach (var item in connection.Table <GoodsGroup>())
            {
                calcData.GoodsGroups.Add(item);
            }
            calcData.Goods = new List <Goods>();
            foreach (var item in connection.Table <Goods>())
            {
                calcData.Goods.Add(item);
            }
            calcData.CPrices = new List <CPrice>();
            foreach (var item in connection.Table <CPrice>())
            {
                calcData.CPrices.Add(item);
            }
            calcData.Discounts = new List <Discount>();
            foreach (var item in connection.Table <Discount>())
            {
                calcData.Discounts.Add(item);
            }
            calcData.EvcPrize = new List <EvcPrize>();
            foreach (var item in connection.Table <EvcPrize>())
            {
                calcData.EvcPrize.Add(item);
            }
            calcData.Prices = new List <Price>();
            foreach (var item in connection.Table <Price>())
            {
                calcData.Prices.Add(item);
            }
            calcData.EvcPrizePackage = new List <EvcPrizePackage>();
            foreach (var item in connection.Table <EvcPrizePackage>())
            {
                calcData.EvcPrizePackage.Add(item);
            }
            calcData.FreeReasons = new List <FreeReason>();
            foreach (var item in connection.Table <FreeReason>())
            {
                calcData.FreeReasons.Add(item);
            }
            calcData.DiscountGoodsPackageItems = new List <DiscountGoodsPackageItem>();
            foreach (var item in connection.Table <DiscountGoodsPackageItem>())
            {
                calcData.DiscountGoodsPackageItems.Add(item);
            }
        }
Ejemplo n.º 24
0
        /// <summary>
        /// Calculates by the selected method
        /// </summary>
        protected void Calculate()
        {
            if (calculating)
            {
                return;
            }
            calculating = true;
            try
            {
                CalcData data = new CalcData((long)nbFrames.Value, fpsChooser.Value ?? 0);
                data.FrameSize        = new Size((int)width.Value, (int)height.Value);
                data.ExtraSize        = GetTotalExtraSize();
                data.AudioStreams     = GetAudioStreams().ToArray();
                data.ContainerType    = containerFormat.SelectedItem as ContainerType;
                data.HasBFrames       = bframes.Checked;
                data.VideoCodec       = SelectedVCodec.VCodec;
                data.QualityCoeffient = (float)complexity.Value / 100F;

                if (fileSizeRadio.Checked) // get video, bpp, qest
                {
                    data.TotalSize = new FileSize(targetSize.Value.Value.Bytes);
                    data.CalcByTotalSize();
                }
                else if (this.bppRadio.Checked) // get video, quest, total
                {
                    data.BitsPerPixel = (float)bpp.Value;
                    data.CalcByBitsPerPixel();
                }
                else if (this.qEstRadio.Checked) // get video, bpp, total
                {
                    data.QualityEstimate = (float)qest.Value;
                    data.CalcByQualityEstimate();
                }
                else // given video size, get total, bpp, quest
                {
                    data.VideoBitrate = projectedBitrate.Value;
                    data.CalcByVideoSize();
                }

                targetSize.Value       = new FileSize(Unit.KB, data.TotalSize.KB);
                projectedBitrate.Value = data.VideoBitrate;
                videoSize.Text         = new FileSize(Unit.KB, data.VideoSize.KB).ToString();
                bpp.Value           = (decimal)data.BitsPerPixel;
                qest.Value          = (decimal)data.QualityEstimate;
                applyButton.Enabled = true;
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.ToString());
                applyButton.Enabled = false;
                videoSize.Text      = "";
                if (fileSizeRadio.Checked)
                {
                    bpp.Value              = 0;
                    qest.Value             = 0;
                    projectedBitrate.Value = 0;
                }
                else if (this.bppRadio.Checked)
                {
                    qest.Value             = 0;
                    projectedBitrate.Value = 0;
                    targetSize.Value       = null;
                }
                else if (this.qEstRadio.Checked)
                {
                    bpp.Value = 0;
                    projectedBitrate.Value = 0;
                    targetSize.Value       = null;
                }
                else
                {
                    bpp.Value        = 0;
                    qest.Value       = 0;
                    targetSize.Value = null;
                }
            }
            calculating = false;
        }
Ejemplo n.º 25
0
        /// <summary>
        /// Step 1 Read file and insert into Import Table
        /// </summary>
        /// <returns></returns>
        public ActionResult UpLoad()
        {
            List <ImportModel.rawImport>   recordsIn       = new List <ImportModel.rawImport>();
            List <ImportModel.Pannebakker> existingRecords = new List <ImportModel.Pannebakker>();
            List <ImportModel.rawImport>   newRecords      = new List <ImportModel.rawImport>();

            try
            {
                recordsIn = ReadInputFile();
                // existingRecords = db.GetPannebakkers().ToList();
                // newRecords = recordsIn.Union(existingRecords).ToList();
                // newRecords = existingRecords.Union(recordsIn, new DTO.PbComparer()).ToList();
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.InnerException.Message;
                return(View("version"));
            }


            try
            {
                #region import
                ///// empty the import tables
                // db.Database.ExecuteSqlCommand("TRUNCATE TABLE [Pannebakker]");
                db.EmptyImport();
                /// insert into raw import and remove any duplicates just in case
                // db.BulkInsert<Pannebakker>(newRecords);
                db.BulkInsertIntoImport(recordsIn);
                db.RemoveDuplicateImport();
                #endregion import

                // merge import into PB and clean form sizes
                //AddBatch(records);
                db.MergeImportToPB();
                db.cleanPBForms();
                db.cleanForms();
                db.RemoveDuplicatePB();
                // so PB table sould now be solid and ready


                // remove any duplicates from PB and Batch
                // may not be needed but just in case

                // db.RemoveDuplicateBatch();

                // clean all old PB's from batch as we are going to provide a new lot.
                // worried about this moving frowards if quotes use batch ids from PB's i am removing
                //db.RemovePBFromBatch();


                var allPB = db.GetPannebakkers().ToList();
                // db.Database.ExecuteSqlCommand("TRUNCATE TABLE [Pannebakker]");


                List <ImportModel.Pannebakker> newBatches = new List <ImportModel.Pannebakker>();
                foreach (var b in allPB)
                {
                    ImportModel.Pannebakker newB   = new ImportModel.Pannebakker();
                    CalcData.Result         result = CalcData.CalCapPrice(b);
                    decimal price = result.price;
                    if (price != 0)
                    {
                        newB.WholesalePrice = Convert.ToInt32(price);
                    }
                    else
                    {
                        newB.WholesalePrice = Convert.ToInt32(b.Price);
                    }
                    newB.Price          = b.Price;
                    newB.FormSize       = b.FormSize;
                    newB.Location       = "PB";
                    newB.Name           = b.Name;
                    newB.Sku            = b.Sku;
                    newB.WholesalePrice = Convert.ToInt32(price);
                    newB.FormSizeCode   = b.FormSizeCode;
                    if (price != b.Price)
                    {
                        newB.Comment = "Using Rule " + result.rule + " Price Modified from " + b.Price + " to " + newB.WholesalePrice;
                    }
                    if (price == b.Price)
                    {
                        newB.Comment = "Price Not Modified";
                    }
                    if (price == 0)
                    {
                        newB.Comment = null;
                    }
                    newBatches.Add(newB);
                }


                //IEnumerable<ImportModel.Batch> newBatches = allPB.Select(batch => new ImportModel.Batch
                //{
                //    Active = true,
                //    AllocatedQuantity = 0,
                //    BuyPrice = CalCapPrice(batch),
                //    Comment = "",
                //    FormSize = batch.FormSize,
                //    ImageExists = false,
                //    GrowingQuantity = 0,
                //    Location = "PB",
                //    Name = batch.Name,
                //    Sku = batch.Sku,
                //    Quantity = 5000,
                //    WholesalePrice = 0,
                //    DateStamp = DateTime.Now,

                //});
                db.EmptyPB();
                db.BulkInsertIntoPB(newBatches);
                db.MergePbToBatch();
                ViewBag.Title = "done";
                Response.Write("<script>console.log('Data has been saved to db');</script>");
                return(View("uploadDone"));
                //return RedirectToAction("Index");
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.InnerException.Message;
                return(View("shit"));
            }
        }
Ejemplo n.º 26
0
 public Calculation(CalcData calc)
 {
     calcData = calc;
 }
Ejemplo n.º 27
0
        private async Task <CalcData> GetCalcDataForSegmentAsync(string platform, string username, int season, Playlist playlist, TRNMMRObject obj)
        {
            CalcData retVal = new CalcData
            {
                Playlist = playlist,
                Season   = season
            };

            DateTime cutOff          = DateTime.Now;
            DateTime seasonStartDate = new DateTime(2020, 12, 09);

            switch (season)
            {
            case 16:
            {
                cutOff = cutOffDates[(int)Seasons.S2];
                break;
            }

            case 17:
            {
                cutOff          = cutOffDates[(int)Seasons.S3];
                seasonStartDate = cutOffDates[(int)Seasons.S2].AddDays(1);
                break;
            }

            case 18:
            {
                cutOff          = cutOffDates[(int)Seasons.S4];
                seasonStartDate = cutOffDates[(int)Seasons.S3].AddDays(1);
                break;
            }
            }

            try
            {
                List <Datum> Datam   = new List <Datum>();
                var          segment = await GetSeasonSegment(season, platform, username);

                if (segment == null)
                {
                    retVal.GamesPlayed = 0;
                }
                else
                {
                    Datam.AddRange(segment.data);
                    Datam.RemoveAll(x => _acceptablePlaylists.Contains(x.attributes.playlistId) == false);
                    retVal.GamesPlayed = Datam.Count > 0 ? Datam.Sum(x => x.stats.matchesPlayed.value) : 0;
                }

                if (playlist == Playlist.ONES)
                {
                    if (obj.data.Duel != null)
                    {
                        List <Duel> data = new List <Duel>(obj.data.Duel);
                        data           = data.Where(x => x.collectDate <cutOff& x.collectDate> seasonStartDate).ToList();
                        retVal.Ratings = data.Select(x => x.rating).ToList();

                        HandleOnesRatings(ref retVal);
                    }
                }
                else if (playlist == Playlist.TWOS)
                {
                    if (obj.data.Duos != null)
                    {
                        List <Duo> data = new List <Duo>(obj.data.Duos);
                        data           = data.Where(x => x.collectDate <cutOff && x.collectDate> seasonStartDate).ToList();
                        retVal.Ratings = data.Select(x => x.rating).ToList();
                    }
                }
                else if (playlist == Playlist.THREES)
                {
                    if (obj.data.Standard != null)
                    {
                        List <Standard> data = new List <Standard>(obj.data.Standard);
                        data           = data.Where(x => x.collectDate <cutOff && x.collectDate> seasonStartDate).ToList();
                        retVal.Ratings = data.Select(x => x.rating).ToList();
                    }
                }
                if (Datam is null || Datam.Count == 0)
                {
                    retVal.GamesPlayed = 0;
                    return(retVal);
                }
                switch (playlist)
                {
                case Playlist.ONES:
                    retVal.GamesPlayed = 0;
                    break;

                case Playlist.TWOS:
                    retVal.GamesPlayed = Datam[0].stats.matchesPlayed.value;
                    break;

                case Playlist.THREES:
                    retVal.GamesPlayed = Datam[1].stats.matchesPlayed.value;
                    break;
                }
            }
            catch (Exception ex)
            {
                _log.Error(ex);
            }

            return(retVal);
        }