Esempio n. 1
0
        private void CreateNewSerieBtn_Click(object sender, RoutedEventArgs e)
        {
            bool isAddResult = false;
            var  serie       = new SerieViewModel();


            if (AddSerieBox.Text == "")
            {
            }
            else
            {
                serie.AddSerie(AddSerieBox.Text, out isAddResult);
                if (isAddResult == true)
                {
                    serie.AddSerie(AddSerieBox.Text, out isAddResult);
                    //MessageBox.Show($"Serie : {AddSerieBox.Text} was added!");
                    AddSerieBox.Text = "";

                    var sl = new SerieViewModel();
                    serieListView.ItemsSource = (sl.serieList).OrderBy(s => s.SerieName).ToList();
                }
                else
                {
                    MessageBox.Show($"Serie : {AddSerieBox.Text} already Exist!");
                    AddSerieBox.Text = "";
                }
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([Bind("Number,Image,MyImage")] SerieViewModel serie)
        {
            if (serie.MyImage == null)
            {
                ModelState.AddModelError("MyImage", "File is required, please upload an image.");
                return(View(serie));
            }
            if (serie.MyImage.Length < 0)
            {
                ModelState.AddModelError("MyImage", "File size is 0.");
                return(View(serie));
            }
            if (ModelState.IsValid && serie.MyImage.Length > 0)
            {
                var uploads  = Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images\Series"));
                var fileName = DateTime.Now.ToString("MMddyyyyHHmmss-") + serie.MyImage.FileName;
                var filePath = Path.Combine(uploads, fileName);
                await serie.MyImage.CopyToAsync(new FileStream(filePath, FileMode.Create));

                var s = new Serie
                {
                    Number = serie.Number,
                    Image  = @"images\Series\" + fileName
                };

                _Series.AddNew(s);
                await _Series.SaveAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(serie));
        }
Esempio n. 3
0
        // GET: ManageSerie/Create
        public ActionResult Create()
        {
            var model = new SerieViewModel();

            model        = LinkLists(model);
            model.estado = EEstatusMedia.VISIBLE;
            return(View(model));
        }
Esempio n. 4
0
 public Serie Update(Serie serie, SerieViewModel model)
 {
     serie.descripcion      = model.descripcion;
     serie.estado           = model.estado;
     serie.fechaLanzamiento = model.fechaLanzamiento;
     serie.nombre           = model.nombre;
     return(serie);
 }
 public async Task <IActionResult> Edit(SerieViewModel model)
 {
     if (ModelState.IsValid)
     {
         var serie = _context.Series.Find(model.ID);
         serie.Titel = model.Titel;
         _context.Update(serie);
         await _context.SaveChangesAsync();
     }
     return(RedirectToAction(nameof(Index)));
 }
Esempio n. 6
0
        public SerieViewModel LinkLists(SerieViewModel model)
        {
            GeneroRepository  generoRepository  = new GeneroRepository(context);
            PersonaRepository personaRepository = new PersonaRepository(context);
            var lstGeneros  = generoRepository.Query(g => g.Eliminado == false, "Nombre");
            var lstPersonas = personaRepository.Query(p => p.Eliminado == false, "Nombre");

            model.GenerosDisponibles  = MapHelper.Map <ICollection <GeneroViewModel> >(lstGeneros);
            model.PersonasDisponibles = MapHelper.Map <ICollection <PersonaViewModel> >(lstPersonas);

            return(model);
        }
Esempio n. 7
0
        private async Task Loading()
        {
            var series = await _businessSerie.GetAll();

            foreach (var serie in series)
            {
                var s = new SerieViewModel();
                await s.Initialize(serie);

                Series.Add(s);
            }
        }
 public async Task <IActionResult> Create(SerieViewModel model)
 {
     if (ModelState.IsValid)
     {
         _context.Add(new Serie()
         {
             Titel = model.Titel
         });
         await _context.SaveChangesAsync();
     }
     return(RedirectToAction(nameof(Index)));
 }
Esempio n. 9
0
        public SerieViewModel ShowChooseParent(SerieViewModel serie)
        {
            DialogWindow dialogWindow = new DialogWindow();
            var          vm           = new DialogChooseParentViewModel();

            dialogWindow.DataContext = vm;
            vm.Serie = serie;
            if (dialogWindow.ShowDialog().Value)
            {
                return(vm.SelectedParent);
            }
            return(null);
        }
Esempio n. 10
0
        public IActionResult Upsert(SerieViewModel serie)
        {
            Serie serieInserir = new()
            {
                Id               = serie.Id,
                Ativo            = serie.Ativo,
                Ano              = serie.Ano,
                Diretor          = serie.Diretor,
                Elenco           = serie.Elenco,
                Pais             = serie.Pais,
                Titulo           = serie.Titulo,
                Sinopse          = serie.Sinopse,
                NumeroTemporadas = serie.NumeroTemporadas,
                ImagemURL        = serie.ImagemURL
            };

            if (serie.ImagemUpload != null)
            {
                var imgPrefixo = Guid.NewGuid() + "_";

                if (!Util.Util.UploadArquivo(serie.ImagemUpload, imgPrefixo))
                {
                    return(View(serie));
                }
                serieInserir.ImagemURL = imgPrefixo + serie.ImagemUpload.FileName;
            }

            if (serieInserir.ImagemURL == null)
            {
                serieInserir.ImagemURL = "50bc7e78-0857-4000-a890-dafe2cd74c83_unnamed.jpg";
            }

            if (ModelState.IsValid)
            {
                if (serie.Titulo == null)
                {
                    //Creating
                    _db.Series.Add(serieInserir);
                }
                else
                {
                    //updating
                    _db.Series.Update(serieInserir);
                }

                _db.SaveChanges();
                StatusMessage = "Série cadastrada com sucesso!\n Pendente aprovação do Administrador.";
            }

            return(LocalRedirect($"~/Series/Details/{serieInserir.Id}"));
        }
Esempio n. 11
0
        private void SerieListView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            Serie selectedSerie = (Serie)serieListView.SelectedItem;

            UpdateSerieWindow uw = new UpdateSerieWindow(selectedSerie);

            Application.Current.MainWindow = uw;
            uw.ShowDialog();


            var sl = new SerieViewModel();

            this.serieListView.ItemsSource = (sl.serieList).OrderBy(s => s.SerieName).ToList();
        }
        private List <SerieViewModel> GetSeriesChartProd(IList <EfficiencyStateMachineModel> data, bool aggregateOthers)
        {
            var series    = new List <SerieViewModel>();
            var dataOther = new List <EfficiencyStateMachineModel>();

            if (aggregateOthers)
            {
                dataOther = data.Skip(4).ToList();
                data      = data.Take(4).ToList();
            }

            var serieEfficiency = new SerieViewModel();

            serieEfficiency.type  = (int)enSerieProd.Efficiency;
            serieEfficiency.name  = enSerieProd.Efficiency.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieEfficiency.color = CommonViewService.GetColorChart(enSerieProd.Efficiency);
            serieEfficiency.data  = data.Select(s => Common.GetPercentage(s.ProducingTime, s.TotalTime).RoundToInt()).ToList();
            if (dataOther.Any())
            {
                serieEfficiency.data.Add(Common.GetPercentage(dataOther.Sum(s => s.ProducingTime), dataOther.Sum(s => s.TotalTime)).RoundToInt());
            }
            series.Add(serieEfficiency);

            var serieGrossTime = new SerieViewModel();

            serieGrossTime.type  = (int)enSerieProd.GrossTime;
            serieGrossTime.name  = new System.Resources.ResourceManager(typeof(Resource)).GetString("NPiecesGrossTime");// enSerieProd.GrossTime.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage) + " pz/h";
            serieGrossTime.color = CommonViewService.GetColorChart(enSerieProd.GrossTime);
            serieGrossTime.data  = data.Select(s => Common.GetRatioProductivity(s.CompletedCount, s.TotalTime) ?? 0).ToList();
            if (dataOther.Any())
            {
                serieGrossTime.data.Add(Common.GetRatioProductivity(dataOther.Sum(s => s.CompletedCount), dataOther.Sum(s => s.TotalTime)) ?? 0);
            }
            series.Add(serieGrossTime);

            var serieNetTime = new SerieViewModel();

            serieNetTime.type  = (int)enSerieProd.NetTime;
            serieNetTime.name  = new System.Resources.ResourceManager(typeof(Resource)).GetString("NPiecesNetTime");// enSerieProd.NetTime.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage) + " pz/h";
            serieNetTime.color = CommonViewService.GetColorChart(enSerieProd.NetTime);
            serieNetTime.data  = data.Select(s => Common.GetRatioProductivity(s.CompletedCount, s.ProducingTime) ?? 0).ToList();
            if (dataOther.Any())
            {
                serieNetTime.data.Add(Common.GetRatioProductivity(dataOther.Sum(s => s.CompletedCount), dataOther.Sum(s => s.ProducingTime)) ?? 0);
            }
            series.Add(serieNetTime);

            return(series);
        }
Esempio n. 13
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Number,Image,MyImage")] SerieViewModel serie)
        {
            if (id != serie.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    string fileName = "";
                    if (serie.MyImage != null)
                    {
                        var uploads = Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images\Series"));
                        fileName = DateTime.Now.ToString("MMddyyyyHHmmss-") + serie.MyImage.FileName;
                        var filePath = Path.Combine(uploads, fileName);
                        await serie.MyImage.CopyToAsync(new FileStream(filePath, FileMode.Create));

                        fileName = @"images\Series\" + fileName;
                    }
                    else
                    {
                        fileName = serie.Image;
                    }
                    var s = new Serie()
                    {
                        Id     = serie.Id,
                        Number = serie.Number,
                        Image  = fileName
                    };
                    _Series.Update(s);
                    await _Series.SaveAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!await SerieExists(serie.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(serie));
        }
Esempio n. 14
0
        private async void Loading()
        {
            foreach (string filepath in Files)
            {
                Fichiers.Add(new AddSingleComicViewModel(filepath));
            }
            var series = await _businessSerie.GetAll();

            foreach (var serie in series)
            {
                var s = new SerieViewModel();
                await s.Initialize(serie);

                Series.Add(s);
            }
        }
Esempio n. 15
0
        public ActionResult Delete(int id, SerieViewModel model)
        {
            try
            {
                // TODO: Add delete logic here
                var serieRepository = new SerieRepository(context);

                var serie = serieRepository.Query(s => s.id == id).First();

                serieRepository.LogicalDelete(serie);
                context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(model));
            }
        }
        private async void Loaded()
        {
            var ancestorID = await _businessSerie.FirstAncestor(Serie.Serie);

            var descendantId = await _businessSerie.GetAllDescendant(ancestorID);

            var allSerie = await _businessSerie.GetAll();

            var filteredseries = allSerie.Where(x => !descendantId.Contains(x.ID) && x.ID != Serie.Serie.ID && x.ID != ancestorID.ID).ToList();

            foreach (var serie in filteredseries)
            {
                var dsVM = new SerieViewModel();
                await dsVM.Initialize(serie);

                SeriesChoiceForFather.Add(dsVM);
            }
        }
Esempio n. 17
0
        private void DeleteSerieBtn_Click(object sender, RoutedEventArgs e)
        {
            string id              = serieIdTextBox.Text;
            string name            = serieNameTextBox.Text;
            bool   isUpdatedResult = false;

            var svm = new SerieViewModel();
            var ds  = new Serie();

            svm.DeleteSerie(id, out isUpdatedResult);


            if (isUpdatedResult == true)
            {
                this.Close();

                //MessageBox.Show("Serie " + name + " Deleted!");
            }
        }
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var serie = await _context.Series.FindAsync(id);

            if (serie == null)
            {
                return(NotFound());
            }
            var model = new SerieViewModel()
            {
                ID = serie.ID, Titel = serie.Titel
            };

            return(View(model));
        }
Esempio n. 19
0
        // GET: Serie/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var serie = await _Series.GetSerieAsync(id);

            if (serie == null)
            {
                return(NotFound());
            }
            var s = new SerieViewModel()
            {
                Id = serie.Id, Number = serie.Number, Image = serie.Image
            };

            return(View(s));
        }
Esempio n. 20
0
        public ActionResult Edit(int id, SerieViewModel model)
        {
            model = LinkLists(model);

            try
            {
                var serieRepository = new SerieRepository(context);

                if (ModelState.IsValid)
                {
                    var serie = serieRepository.Query(s => s.id == id).First();
                    serie = Update(serie, model);
                    var lstSerie = serieRepository.Query(s => s.estado != EEstatusMedia.ELIMINADO);
                    foreach (var s in lstSerie)
                    {
                        if (s.id != id)
                        {
                            if (s.nombre.ToLower() == serie.nombre.ToLower())
                            {
                                if (s.fechaLanzamiento == serie.fechaLanzamiento)
                                {
                                    model         = MapHelper.Map <SerieViewModel>(serie);
                                    model         = LinkLists(model);
                                    ViewBag.Error = 1;
                                    return(Edit(id));
                                }
                            }
                        }
                    }
                    serieRepository.UpdateComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas);
                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }

                return(Edit(id));
            }
            catch
            {
                return(Edit(id));
            }
        }
Esempio n. 21
0
        public async Task <IActionResult> Series(string ext = "html")
        {
            if (!string.IsNullOrEmpty(ext))
            {
                if (ext.ToLower() != "html")
                {
                    return(NotFound());
                }
            }
            ViewData["Blogger"]        = Config.Blogger;
            ViewData["Qiniu"]          = Config.QiNiu.Domain;
            ViewData["Title"]          = $"专题 | {Config.Blogger.Btitle}";
            ViewData["Description"]    = $"专题列表,,{Config.Blogger.SubTitle}";
            ViewData["SeriesSubTitle"] = Config.Blogger.SeriesSubTitle;
            List <SerieViewModel> viewModels = new List <SerieViewModel>();
            var series = await db.Series
                         .Include(i => i.SerieArticle)
                         .ToListAsync();

            foreach (var serie in series)
            {
                var svm = new SerieViewModel
                {
                    Desc     = serie.Desc,
                    Name     = serie.Name,
                    SerieId  = serie.SerieId,
                    Articles = await db.SerieArticles
                               .Include(p => p.Article)
                               .Where(pt => pt.SerieId == serie.SerieId)
                               .Select(pt => new ArticleSlugViewModel
                    {
                        Slug       = pt.Article.Slug,
                        Title      = pt.Article.Title,
                        CreateTime = pt.Article.CreateTime,
                    })
                               .ToListAsync()
                };
                viewModels.Add(svm);
            }
            return(View(viewModels));
        }
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var serie = await _context.Series
                        .FirstOrDefaultAsync(m => m.ID == id);

            if (serie == null)
            {
                return(NotFound());
            }
            var model = new SerieViewModel()
            {
                ID = serie.ID, Titel = serie.Titel
            };

            return(View(model));
        }
Esempio n. 23
0
        public bool ShowCreateOrUpdateSerieModal(SerieViewModel serie = null)
        {
            DialogWindow dialog = new DialogWindow();
            var          vm     = new AddUpdateSerieViewModel();

            if (serie != null)
            {
                vm.Serie = serie.Serie;
            }
            dialog.DataContext = vm;
            var dialogResult = dialog.ShowDialog();

            if (dialogResult.Value)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 24
0
        public ActionResult Create(SerieViewModel model)
        {
            model             = LinkLists(model);
            model.duracionMin = 0;

            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    SerieRepository repository = new SerieRepository(context);
                    Serie           serie      = MapHelper.Map <Serie>(model);
                    var             lstSerie   = repository.Query(s => s.estado != EEstatusMedia.ELIMINADO);
                    foreach (var s in lstSerie)
                    {
                        if (s.nombre.ToLower() == serie.nombre.ToLower())
                        {
                            if (s.fechaLanzamiento == serie.fechaLanzamiento)
                            {
                                ViewBag.Error = 1;
                                return(Create());
                            }
                        }
                    }
                    repository.InsertComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas);

                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(Create());
                }
            }
            catch
            {
                return(Create());
            }
        }
Esempio n. 25
0
        private void UpdateSerieBtn_Click(object sender, RoutedEventArgs e)
        {
            string name            = serieNameTextBox.Text;
            bool   isUpdatedResult = false;

            var serie = new Serie();

            serie.SerieName    = serieNameTextBox.Text;
            serie.SerieSeasson = Convert.ToInt32(seassonTextBox.Text);
            serie.SerieEpisode = Convert.ToInt32(episodeTextBox.Text);
            serie.SerieId      = serieIdTextBox.Text;

            var serieVM = new SerieViewModel();

            serieVM.UpdateSerie(serie, out isUpdatedResult);

            if (isUpdatedResult == true)
            {
                this.Close();

                //MessageBox.Show("Serie " + name + " Updated");
            }
        }
        private ChartViewModel GetHistoricalOptions(MachineInfoModel machine, PeriodModel period)
        {
            var options = new ChartViewModel();

            var granularity    = Common.GetAggregationType(period.StartDate, period.EndDate);
            var startDateTrend = Common.GetStartDateTrend(period.EndDate, period.StartDate, granularity);

            var periodTrend = new PeriodModel
            {
                StartDate   = startDateTrend.ToUniversalTime().Date,
                EndDate     = period.EndDate.ToUniversalTime().Date.AddDays(1).AddMinutes(-1),
                Aggregation = granularity
            };

            var data = _stateService.GetAggregationStates(machine, periodTrend, enDataType.Historical).Where(w => w.enState != enState.Offline).OrderBy(o => o.Day).ToList();

            if (data.Count == 0)
            {
                return(null);
            }

            // calcolo dell'unità di misura delle serie del grafico sul valore medio
            var avgData     = (long)data.Average(a => a.ElapsedTime ?? 0);
            var measurement = Common.GetTimeMeasurement(avgData);

            options.yTitle      = $"{Resource.Duration} ({measurement.GetDescription()})";
            options.valueSuffix = $" {measurement.GetDescription()}";

            var days = data.Where(w => w.Day != null).Select(s => s.Day.Value).Distinct().ToList();

            options.categories = CommonViewService.GetTimeCategories(days, granularity);

            var series = new List <SerieViewModel>();

            var serieProd = new SerieViewModel();

            serieProd.name  = enState.Production.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieProd.color = CommonViewService.GetColorState(enState.Production);
            List <long> lista = GetDataGroup(data, days, granularity, enState.Production);

            serieProd.data = Common.ConvertElapsedByMeasurement(lista, measurement);
            series.Add(serieProd);


            var serieManual = new SerieViewModel();

            serieManual.name  = enState.Manual.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieManual.color = CommonViewService.GetColorState(enState.Manual);
            serieManual.data  = Common.ConvertElapsedByMeasurement(GetDataGroup(data, days, granularity, enState.Manual), measurement);
            series.Add(serieManual);

            var seriePause = new SerieViewModel();

            seriePause.name  = enState.Pause.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            seriePause.color = CommonViewService.GetColorState(enState.Pause);
            seriePause.data  = Common.ConvertElapsedByMeasurement(GetDataGroup(data, days, granularity, enState.Pause), measurement);
            series.Add(seriePause);

            var serieError = new SerieViewModel();

            serieError.name  = enState.Error.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieError.color = CommonViewService.GetColorState(enState.Error);
            serieError.data  = Common.ConvertElapsedByMeasurement(GetDataGroup(data, days, granularity, enState.Error), measurement);
            series.Add(serieError);

            options.series = series;

            return(options);
        }
Esempio n. 27
0
        private ChartViewModel GetHistoricalOptions(MachineInfoModel machine, PeriodModel period, enRole role, string actualMachineGroup = null)
        {
            var options = new ChartViewModel();

            var granularity    = Common.GetAggregationType(period.StartDate, period.EndDate);
            var startDateTrend = Common.GetStartDateTrend(period.EndDate, period.StartDate, granularity);

            var periodTrend = new PeriodModel();

            periodTrend.StartDate   = startDateTrend.ToUniversalTime().Date;
            periodTrend.EndDate     = period.EndDate.ToUniversalTime().Date.AddDays(1).AddTicks(-1);
            periodTrend.Aggregation = granularity;


            var data = _messageService.GetAggregationMessages(machine, periodTrend, enDataType.Historical, actualMachineGroup)?.OrderBy(o => o.Day).ToList() ?? new List <HistoryMessageModel>();

            if (data.Count == 0)
            {
                return(null);
            }

            options.yTitle = $"{Resource.Quantity} (n)";

            var days = data.Where(w => w.Day != null && (w.Type == (int)enTypeAlarm.Warning || w.Type == (int)enTypeAlarm.Error)).Select(s => s.Day.Value).Distinct().ToList();

            if (role == enRole.Administrator || role == enRole.RandD || role == enRole.Assistance)
            {
                days = data.Where(w => w.Day != null && (w.Type == (int)enTypeAlarm.Warning || w.Type == (int)enTypeAlarm.Error || w.Type == (int)enTypeAlarm.CN)).Select(s => s.Day.Value).Distinct().ToList();
            }

            options.categories = CommonViewService.GetTimeCategories(days, granularity);

            var series = new List <SerieViewModel>();

            var serieOperator = new SerieViewModel();

            serieOperator.name  = enTypeAlarm.Warning.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieOperator.color = CommonViewService.GetColorAlarm(enTypeAlarm.Warning);

            var serieError = new SerieViewModel();

            serieError.name  = enTypeAlarm.Error.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieError.color = CommonViewService.GetColorAlarm(enTypeAlarm.Error);

            var serieCN = new SerieViewModel();

            serieCN.name  = enTypeAlarm.CN.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieCN.color = CommonViewService.GetColorAlarm(enTypeAlarm.CN);

            serieOperator.data = new List <int>();
            serieError.data    = new List <int>();
            serieCN.data       = new List <int>();

            foreach (string cat in options.categories)
            {
                var catVal = data.Where(w => w.Type == (int)enTypeAlarm.Warning &&
                                        CommonViewService.GetTimeCategory((DateTime)w.Day, granularity) == cat).Select(s => s.Count ?? 0).FirstOrDefault();
                serieOperator.data.Add(catVal);
                var catVal2 = data.Where(w => w.Type == (int)enTypeAlarm.Error &&
                                         CommonViewService.GetTimeCategory((DateTime)w.Day, granularity) == cat).Select(s => s.Count ?? 0).FirstOrDefault();
                serieError.data.Add(catVal2);

                var catVal3 = data.Where(w => w.Type == (int)enTypeAlarm.CN &&
                                         CommonViewService.GetTimeCategory((DateTime)w.Day, granularity) == cat).Select(s => s.Count ?? 0).FirstOrDefault();
                serieCN.data.Add(catVal3);
            }

            series.Add(serieOperator);
            series.Add(serieError);
            if (role == enRole.Administrator || role == enRole.RandD || role == enRole.Assistance)
            {
                series.Add(serieCN);
            }

            options.series = series;

            return(options);
        }
Esempio n. 28
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var sl = new SerieViewModel();

            serieListView.ItemsSource = (sl.serieList).OrderBy(s => s.SerieName).ToList();
        }
        private ChartViewModel GetStatesOptions(MachineInfoModel machine, PeriodModel period)
        {
            var options = new ChartViewModel();

            options.series = new List <SerieViewModel>();


            var data = _stateService.GetAggregationStates(machine, period, enDataType.Dashboard);

            if (!data.Any())
            {
                return(options);
            }

            var stateProd  = data.FirstOrDefault(w => w.enState == enState.Production);
            var statePause = data.FirstOrDefault(w => w.enState == enState.Pause);

            var stateError  = data.FirstOrDefault(w => w.enState == enState.Error);
            var stateManual = data.FirstOrDefault(w => w.enState == enState.Manual);

            long?totalProd   = stateProd?.ElapsedTime ?? 0;
            long?totalPause  = statePause?.ElapsedTime ?? 0;
            long?totalError  = stateError?.ElapsedTime ?? 0;
            long?totalManual = stateManual?.ElapsedTime ?? 0;

            var totalOn  = data.Where(w => w.enState != enState.Offline).Select(s => s.ElapsedTime).Sum();
            var totalOff = data.Where(w => w.enState == enState.Offline).Select(s => s.ElapsedTime).Sum();

            decimal?percProd   = Common.GetPercentage(totalProd, totalOn);
            decimal?percPause  = Common.GetPercentage(totalPause, totalOn);
            decimal?percError  = Common.GetPercentage(totalError, totalOn);
            decimal?percManual = Common.GetPercentage(totalManual, totalOn);


            // state prod
            var prod = new SerieViewModel();

            prod.name  = enState.Production.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            prod.y     = percProd ?? 0;
            prod.color = CommonViewService.GetColorState(enState.Production);
            options.series.Add(prod);

            // state pause
            var pause = new SerieViewModel();

            pause.name  = enState.Pause.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            pause.y     = percPause ?? 0;
            pause.color = CommonViewService.GetColorState(enState.Pause);
            options.series.Add(pause);


            var manual = new SerieViewModel();

            manual.name  = enState.Manual.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            manual.y     = percManual ?? 0;
            manual.color = CommonViewService.GetColorState(enState.Manual);
            options.series.Add(manual);


            var error = new SerieViewModel();

            error.name  = enState.Error.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            error.y     = percError ?? 0;
            error.color = CommonViewService.GetColorState(enState.Error);
            options.series.Add(error);


            return(options);
        }
        private List <SerieViewModel> GetSeriesStackedBarChart(List <HistoryStateModel> data, List <string> categories, enDataType chart)
        {
            var series = new List <SerieViewModel>();

            var serieProd = new SerieViewModel();

            serieProd.name  = enState.Production.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieProd.color = CommonViewService.GetColorState(enState.Production);
            serieProd.data  = new List <int>();

            var seriePause = new SerieViewModel();

            seriePause.name  = enState.Pause.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            seriePause.color = CommonViewService.GetColorState(enState.Pause);
            seriePause.data  = new List <int>();

            var serieManual = new SerieViewModel();

            serieManual.name  = enState.Manual.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieManual.color = CommonViewService.GetColorState(enState.Manual);
            serieManual.data  = new List <int>();

            var serieError = new SerieViewModel();

            serieError.name  = enState.Error.ToLocalizedString(_contextService.GetContext().ActualLanguage.InitialsLanguage);
            serieError.color = CommonViewService.GetColorState(enState.Error);
            serieError.data  = new List <int>();

            // create data foreach categories (operator or shift)
            foreach (var categorie in categories)
            {
                var dataCategorie = new List <HistoryStateModel>();

                switch (chart)
                {
                case enDataType.Operators:
                    dataCategorie = data.Where(w => w.Operator == categorie).ToList();
                    break;
                }

                if (dataCategorie.Count == 0)
                {
                    continue;
                }

                var totalOn = dataCategorie.Where(w => w.enState != enState.Offline).Select(s => s.ElapsedTime).Sum();

                var stateProd = dataCategorie.FirstOrDefault(w => w.enState == enState.Production);

                if (stateProd != null)
                {
                    var     totalProd = stateProd.ElapsedTime;
                    decimal?percProd  = Common.GetPercentage(totalProd, totalOn);
                    serieProd.data.Add(((decimal)percProd).RoundToInt());
                }
                else
                {
                    serieProd.data.Add(0);
                }

                var stateManual = dataCategorie.FirstOrDefault(w => w.enState == enState.Manual);

                if (stateManual != null)
                {
                    var     totalManual = stateManual.ElapsedTime;
                    decimal?percManual  = Common.GetPercentage(totalManual, totalOn);
                    serieManual.data.Add(((decimal)percManual).RoundToInt());
                }
                else
                {
                    serieManual.data.Add(0);
                }

                var statePause = dataCategorie.FirstOrDefault(w => w.enState == enState.Pause);

                if (statePause != null)
                {
                    var     totalPause = statePause.ElapsedTime;
                    decimal?percPause  = Common.GetPercentage(totalPause, totalOn);
                    seriePause.data.Add(((decimal)percPause).RoundToInt());
                }
                else
                {
                    seriePause.data.Add(0);
                }

                var stateError = dataCategorie.FirstOrDefault(w => w.enState == enState.Error);

                if (stateError != null)
                {
                    var     totalError = stateError.ElapsedTime;
                    decimal?percError  = Common.GetPercentage(totalError, totalOn);
                    serieError.data.Add(((decimal)percError).RoundToInt());
                }
                else
                {
                    serieError.data.Add(0);
                }
            }

            series.Add(serieError);
            series.Add(seriePause);
            series.Add(serieManual);
            series.Add(serieProd);

            return(series);
        }