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 = ""; } } }
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)); }
// GET: ManageSerie/Create public ActionResult Create() { var model = new SerieViewModel(); model = LinkLists(model); model.estado = EEstatusMedia.VISIBLE; return(View(model)); }
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))); }
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); }
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))); }
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); }
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}")); }
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); }
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)); }
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); } }
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); } }
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)); }
// 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)); }
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)); } }
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)); }
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); } }
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()); } }
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); }
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); }
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); }