///Report Detallado /*private async Task<IQueryable<ElementoViewModel>> ReportDetallado(){ * // var elementos= await _IelementosRepository.AllIncludingAsync(a=>a.Proyecto, b=>b.Material, c=>c.LocalizacionElementos, d=>d.Estado, e=>e.NivelTensionElemento, f=>f.LongitudElemento, g=>g.Fotos); * IEnumerable<Elemento> elementos=Enumerable.Empty<Elemento>(); * //Todas las ciudades y todos los usuarios * if(Ciudad_Id==0 && Usuario_Id==0 ){ * elementos =await _IelementosRepository.AllIncludingAsyncWhere(a=>a.Ciudad.departmentoId==Departamento_Id,c=>c.Material,d=>d.Proyecto, f=>f.LocalizacionElementos, g=>g.Estado, h=>h.NivelTensionElemento, i=>i.LongitudElemento,k=>k.Ciudad, l=>l.Ciudad.departmento,k=>k.Cables,n=>n.Equipos, o=>o.Fotos, q=>q.Novedades); * } * //Todas los usuarios de una ciudad * else if(Ciudad_Id!=0 && Usuario_Id==0){ * elementos =await _IelementosRepository.AllIncludingAsyncWhere(a=>a.Ciudad_Id==Ciudad_Id,c=>c.Material,d=>d.Proyecto, f=>f.LocalizacionElementos, g=>g.Estado, h=>h.NivelTensionElemento, i=>i.LongitudElemento,k=>k.Ciudad, l=>l.Ciudad.departmento,k=>k.Cables,n=>n.Equipos, o=>o.Fotos, q=>q.Novedades); * } * else{ * elementos =await _IelementosRepository.AllIncludingAsyncWhere(a=>a.Ciudad_Id==Ciudad_Id && a.Usuario_Id==Usuario_Id,c=>c.Material,d=>d.Proyecto, f=>f.LocalizacionElementos, g=>g.Estado, h=>h.NivelTensionElemento, i=>i.LongitudElemento,k=>k.Ciudad, l=>l.Ciudad.departmento,k=>k.Cables,n=>n.Equipos, o=>o.Fotos, q=>q.Novedades); * } * * var filterListElementosDates=elementos.ToList().Where(a=>a.FechaLevantamiento.Day>=SelectedDateStart.Day && * a.FechaLevantamiento.Month>=SelectedDateStart.Month && * a.FechaLevantamiento.Year>=SelectedDateStart.Year && * a.FechaLevantamiento.Day<=SelectedDateEnd.Day && * a.FechaLevantamiento.Month<=SelectedDateEnd.Month && * a.FechaLevantamiento.Year<=SelectedDateEnd.Year ).ToList(); * * var list= new List<ElementoViewModel>(); * * /// var MaximumPrice=0; * foreach(var item in filterListElementosDates){ * * //var sumdata= filterListCablesDates.Count/100; * ///MaximumPrice+=sumdata; * * var viewModelMap = _mapper.Map<Elemento, ElementoViewModel>(item); * viewModelMap.NombreCiudad=item.Ciudad.Nombre; * viewModelMap.Direccion= item.LocalizacionElementos.FirstOrDefault().Direccion; * string hourStartFormat = DateTime.ParseExact(item.HoraInicio,"HH:mm",CultureInfo.CurrentCulture).ToString("hh:mm tt"); * string hourEndFormat = DateTime.ParseExact(item.HoraFin,"HH:mm",CultureInfo.CurrentCulture).ToString("hh:mm tt"); * * var usuario= await _usuarioRepository.GetSingleAsync(a=>a.Id==item.Usuario_Id); * viewModelMap.HoraInicio=hourStartFormat; * viewModelMap.HoraFin=hourEndFormat; * viewModelMap.Usuario = string.Format("{0} {1}",usuario.Nombre, usuario.Apellido); * viewModelMap.Cables.Clear(); * viewModelMap.Equipos.Clear(); * viewModelMap.Fotos.Clear(); * * //list Fotos * var listFotos= new List<FotoViewModel>(); * var listFotosPoste= _fotoRepository.AllIncludingAsyncWhere(a=>a.Elemento_Id==item.Id); * listFotos= _mapper.Map<IEnumerable<Foto>, IEnumerable<FotoViewModel>>(listFotosPoste.Result).ToList(); * viewModelMap.Fotos =listFotos; * * foreach(var equipo in item.Equipos){ * var queryequipo= await _equipoElementoRepository.GetSingleAsync(a=>a.Id==equipo.Id, b=>b.TipoEquipo,c=>c.Ciudad_Empresa, d=>d.Ciudad_Empresa.Empresa); * var mapEquipo= _mapper.Map<EquipoElemento, EquipoViewModel>(queryequipo); * * mapEquipo.NombreEmpresaEquipo=mapEquipo.Ciudad_Empresa.Empresa.Nombre; * var ConectadoRbt="NO"; * var MedidorBt="NO"; * if( equipo.ConectadoRbt){ * ConectadoRbt="SI"; * } * if(equipo.MedidorBt){ * MedidorBt="SI"; * } * mapEquipo.ConectadoRbt= ConectadoRbt; * mapEquipo.MedidorBt= MedidorBt; * mapEquipo.TipoEquipo=equipo.TipoEquipo; * * viewModelMap.Equipos.Add(mapEquipo); * } * foreach(var cable in item.Cables){ * var querycable= await _elementoCableRepository.GetSingleAsync(a=>a.Id==cable.Id, b=>b.DetalleTipoCable,c=>c.Ciudad_Empresa, d=>d.Ciudad_Empresa.Empresa,e=>e.DetalleTipoCable.Cable,f=>f.DetalleTipoCable.TipoCable); * var mapCable= _mapper.Map<ElementoCable, ElementoCableViewModel>(querycable); * var sobrerbt="NO"; * var tienemarquilla="NO"; * * if( cable.SobreRbt){ * sobrerbt="SI"; * } * if(cable.Tiene_Marquilla){ * tienemarquilla="SI"; * } * mapCable.SobreRbt= sobrerbt; * mapCable.Tiene_Marquilla= tienemarquilla; * * mapCable.NombreEmpresaCable=mapCable.Ciudad_Empresa.Empresa.Nombre; * mapCable.TipoCable= mapCable.DetalleTipoCable.TipoCable.Nombre; * mapCable.DetalleCable= mapCable.DetalleTipoCable.Cable.Nombre; * viewModelMap.Cables.Add(mapCable); * } * viewModelMap.Coordenadas= item.LocalizacionElementos.Where(a=>a.Element_Id==item.Id).FirstOrDefault().Coordenadas; * list.Add(viewModelMap); * } * * * /// var model = _mapper.Map<IEnumerable<Elemento>, IEnumerable<ElementoViewModel>>(list); * // ReportElementos=model.ToList(); * * ReportElementos=list; * //empresa.as * return list.AsQueryable(); * * }*/ private async Task <IQueryable <ElementoReportViewModel> > ReportDetalladoView() { //IEnumerable<ElementoCable> cables=Enumerable.Empty<ElementoCable>(); var dataContext = MyAppContext.GetInstance(); IEnumerable <View_Elemento_Report> cables = Enumerable.Empty <View_Elemento_Report>(); if (Ciudad_Id == 0 && Usuario_Id == 0) { cables = dataContext.View_Elementos.Where(a => a.Departamento_Id == Departamento_Id).ToList(); //cables =await _elementoCableRepository.AllIncludingAsyncWhere(a=>a.Ciudad_Empresa.Ciudad.departmento.Id==Departamento_Id,b=>b.Elemento,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, e=>e.Elemento.Material, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento, f=>f.Ciudad_Empresa.Ciudad.departmento,j=>j.Ciudad_Empresa.Empresa,k=>k.Ciudad_Empresa.Ciudad,l=>l.DetalleTipoCable.Cable,n=>n.Elemento.Equipos); } //Todas las empresas de una ciudad else if (Ciudad_Id != 0 && Usuario_Id == 0) { cables = dataContext.View_Elementos.Where(a => a.Ciudad_Id == Ciudad_Id).ToList(); } else if (Ciudad_Id == 0 && Usuario_Id != 0) { cables = dataContext.View_Elementos.Where(a => a.Departamento_Id == Departamento_Id && a.Usuario_Id == Usuario_Id).ToList(); } else { cables = dataContext.View_Elementos.Where(a => a.Ciudad_Id == Ciudad_Id && a.Usuario_Id == Usuario_Id).ToList(); // cables =await _elementoCableRepository.AllIncludingAsyncWhere(a=>a.Ciudad_Id==Ciudad_Id && a.Empresa_Id==Empresa_Id,b=>b.Elemento,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, e=>e.Elemento.Material, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,j=>j.Ciudad_Empresa.Empresa,k=>k.Ciudad_Empresa.Ciudad,l=>l.DetalleTipoCable.Cable,n=>n.Elemento.Equipos); } var filterListCablesDates = cables.ToList().Where(a => a.FechaLevantamiento.Day >= SelectedDateStart.Day && a.FechaLevantamiento.Month >= SelectedDateStart.Month && a.FechaLevantamiento.Year >= SelectedDateStart.Year && a.FechaLevantamiento.Day <= SelectedDateEnd.Day && a.FechaLevantamiento.Month <= SelectedDateEnd.Month && a.FechaLevantamiento.Year <= SelectedDateEnd.Year).ToList(); var list = new List <ElementoReportViewModel>(); foreach (var item in filterListCablesDates) { var viewModelMap = _mapper.Map <View_Elemento_Report, ElementoReportViewModel>(item); viewModelMap.Elemento_Id = item.Id; viewModelMap.Usuario = string.Format("{0} {1}", item.Nombre_Usuario, item.Apellido_Usuario); if (viewModelMap.CodigoApoyo == null || viewModelMap.CodigoApoyo == "") { //Verificar la novedad del codigo de apoyo vacio var novedad = await _novedadRepository.GetSingleAsync(a => a.Elemento_Id == item.Id && a.DetalleTipoNovedad.Tipo_Novedad_id == 1, b => b.DetalleTipoNovedad); if (novedad != null) { if (novedad.Detalle_Tipo_Novedad_Id != 3) { viewModelMap.CodigoApoyo = novedad.DetalleTipoNovedad.Nombre; } } } viewModelMap.FechaLevantamientoFormat = item.FechaLevantamiento.ToString("dd/MM/yyyy"); //list Fotos var listFotos = new List <FotoViewModel>(); var listFotosPoste = _fotoRepository.AllIncludingAsyncWhere(a => a.Elemento_Id == item.Id); listFotos = _mapper.Map <IEnumerable <Foto>, IEnumerable <FotoViewModel> >(listFotosPoste.Result).ToList(); viewModelMap.Fotos = listFotos; //EQUIPOS var equiposElementos = await _equipoElementoRepository.AllIncludingAsyncWhere(a => a.Elemento_Id == item.Id, b => b.TipoEquipo, c => c.Ciudad_Empresa, d => d.Ciudad_Empresa.Empresa); viewModelMap.Equipos = new List <EquipoViewModel>(); foreach (var queryequipo in equiposElementos) { var mapEquipo = _mapper.Map <EquipoElemento, EquipoViewModel>(queryequipo); mapEquipo.NombreEmpresaEquipo = mapEquipo.Ciudad_Empresa.Empresa.Nombre; viewModelMap.Equipos.Add(mapEquipo); } //CABLES var cablesElementos = await _elementoCableRepository.AllIncludingAsyncWhere(a => a.Elemento_Id == item.Id, b => b.DetalleTipoCable, c => c.Ciudad_Empresa, d => d.Ciudad_Empresa.Empresa, e => e.DetalleTipoCable.Cable, f => f.DetalleTipoCable.TipoCable); viewModelMap.Cables = new List <ElementoCableViewModel>(); foreach (var cable in cablesElementos.ToList()) { var mapCable = _mapper.Map <ElementoCable, ElementoCableViewModel>(cable); mapCable.NombreEmpresaCable = mapCable.Ciudad_Empresa.Empresa.Nombre; mapCable.TipoCable = mapCable.DetalleTipoCable.TipoCable.Nombre; mapCable.DetalleCable = mapCable.DetalleTipoCable.Cable.Nombre; viewModelMap.Cables.Add(mapCable); } list.Add(viewModelMap); } return(list.AsQueryable()); }
///Report Detallado /* * private async Task<IQueryable<ElementoViewModel>> ReportDetallado(){ * // var elementos= await _IelementosRepository.AllIncludingAsync(a=>a.Proyecto, b=>b.Material, c=>c.LocalizacionElementos, d=>d.Estado, e=>e.NivelTensionElemento, f=>f.LongitudElemento, g=>g.Fotos); * IEnumerable<Novedad> elementosNovedad=Enumerable.Empty<Novedad>(); * //Todas las ciudades y todos los usuarios * if(Ciudad_Id==0 && Detalle_Tipo_Novedad_Id==0 ){ * elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad.departmentoId==Departamento_Id && a.DetalleTipoNovedad.Tipo_Novedad_id==Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); * } * //Todas los usuarios de una ciudad * else if(Ciudad_Id!=0 && Detalle_Tipo_Novedad_Id==0){ * elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad_Id==Ciudad_Id && a.DetalleTipoNovedad.Tipo_Novedad_id==Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); * } * else if(Ciudad_Id==0 && Detalle_Tipo_Novedad_Id!=0){ * elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad.departmentoId==Departamento_Id && a.Detalle_Tipo_Novedad_Id==Detalle_Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); * } * else{ * elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad_Id==Ciudad_Id && a.Detalle_Tipo_Novedad_Id==Detalle_Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); * } * * var list= new List<ElementoViewModel>(); * * /// var MaximumPrice=0; * foreach(var item in elementosNovedad){ * //var sumdata= filterListCablesDates.Count/100; * ///MaximumPrice+=sumdata; * * var viewModelMap = _mapper.Map<Elemento, ElementoViewModel>(item.Elemento); * viewModelMap.NombreCiudad=item.Elemento.Ciudad.Nombre; * viewModelMap.NumeroApoyo= item.Elemento_Id; * viewModelMap.Direccion= item.Elemento.LocalizacionElementos.FirstOrDefault().Direccion; * string hourStartFormat = DateTime.ParseExact(item.Elemento.HoraInicio,"HH:mm",CultureInfo.CurrentCulture).ToString("hh:mm tt"); * string hourEndFormat = DateTime.ParseExact(item.Elemento.HoraFin,"HH:mm",CultureInfo.CurrentCulture).ToString("hh:mm tt"); * * var usuario= await _usuarioRepository.GetSingleAsync(a=>a.Id==item.Elemento.Usuario_Id); * viewModelMap.HoraInicio=hourStartFormat; * viewModelMap.HoraFin=hourEndFormat; * viewModelMap.Usuario = string.Format("{0} {1}",usuario.Nombre, usuario.Apellido); * * viewModelMap.Detalle_Tipo_Novedad_Id=item.Detalle_Tipo_Novedad_Id; * viewModelMap.Nombre_Detalle_Tipo_Novedad=item.DetalleTipoNovedad.Nombre; * viewModelMap.Descripcion_Novedad=item.Descripcion; * viewModelMap.Tipo_Novedad_id=item.DetalleTipoNovedad.Tipo_Novedad_id; * viewModelMap.Nombre_Tipo_Novedad=item.DetalleTipoNovedad.TipoNovedad.Nombre; * * viewModelMap.Fotos.Clear(); * viewModelMap.Equipos.Clear(); * * viewModelMap.Cables.Clear(); * //list Fotos * var listFotos= new List<FotoViewModel>(); * * var listFotosPoste= _fotoRepository.AllIncludingAsyncWhere(a=>a.Elemento_Id==item.Id); * listFotos= _mapper.Map<IEnumerable<Foto>, IEnumerable<FotoViewModel>>(listFotosPoste.Result).ToList(); * viewModelMap.Fotos =listFotos; * * * viewModelMap.Coordenadas= item.Elemento.LocalizacionElementos.Where(a=>a.Element_Id==item.Elemento_Id).FirstOrDefault().Coordenadas; * list.Add(viewModelMap); * } * //empresa.as * return list.AsQueryable(); * }*/ private async Task <IQueryable <ElementoReportViewModel> > ViewReportDetallado() { // var elementos= await _IelementosRepository.AllIncludingAsync(a=>a.Proyecto, b=>b.Material, c=>c.LocalizacionElementos, d=>d.Estado, e=>e.NivelTensionElemento, f=>f.LongitudElemento, g=>g.Fotos); IEnumerable <View_Novedad_Elemento_Report> elementosNovedad = Enumerable.Empty <View_Novedad_Elemento_Report>(); var dataContext = MyAppContext.GetInstance(); //Todas las ciudades y todos los usuarios if (Ciudad_Id == 0 && Detalle_Tipo_Novedad_Id == 0 && Tipo_Novedad_Id == 0) { elementosNovedad = dataContext.View_Novedades.Where(a => a.Departamento_Id == Departamento_Id); } else if (Ciudad_Id != 0 && Detalle_Tipo_Novedad_Id == 0 && Tipo_Novedad_Id == 0) { elementosNovedad = dataContext.View_Novedades.Where(a => a.Ciudad_Id == Ciudad_Id); } else if (Ciudad_Id == 0 && Detalle_Tipo_Novedad_Id == 0 && Tipo_Novedad_Id != 0) { elementosNovedad = dataContext.View_Novedades.Where(a => a.Departamento_Id == Departamento_Id && a.Tipo_Novedad_id == Tipo_Novedad_Id); // elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad.departmentoId==Departamento_Id && a.DetalleTipoNovedad.Tipo_Novedad_id==Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); } //Todas los usuarios de una ciudad else if (Ciudad_Id != 0 && Detalle_Tipo_Novedad_Id == 0 && Tipo_Novedad_Id != 0) { elementosNovedad = dataContext.View_Novedades.Where(a => a.Ciudad_Id == Ciudad_Id && a.Tipo_Novedad_id == Tipo_Novedad_Id); // elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad_Id==Ciudad_Id && a.DetalleTipoNovedad.Tipo_Novedad_id==Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); } else if (Ciudad_Id == 0 && Detalle_Tipo_Novedad_Id != 0 && Tipo_Novedad_Id != 0) { elementosNovedad = dataContext.View_Novedades.Where(a => a.Departamento_Id == Departamento_Id && a.Detalle_Tipo_Novedad_Id == Detalle_Tipo_Novedad_Id && a.Tipo_Novedad_id == Tipo_Novedad_Id); // elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad.departmentoId==Departamento_Id && a.Detalle_Tipo_Novedad_Id==Detalle_Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); } else { elementosNovedad = dataContext.View_Novedades.Where(a => a.Ciudad_Id == Ciudad_Id && a.Detalle_Tipo_Novedad_Id == Detalle_Tipo_Novedad_Id); /// elementosNovedad =await _novedadRepository.AllIncludingAsyncWhere(a=>a.Elemento.Ciudad_Id==Ciudad_Id && a.Detalle_Tipo_Novedad_Id==Detalle_Tipo_Novedad_Id,c=>c.Elemento.Material,d=>d.Elemento.Proyecto, f=>f.Elemento.LocalizacionElementos, g=>g.Elemento.Estado, h=>h.Elemento.NivelTensionElemento, i=>i.Elemento.LongitudElemento,k=>k.Elemento.Ciudad, m=>m.DetalleTipoNovedad,n=>n.DetalleTipoNovedad.TipoNovedad); } //var viewModelMap = _mapper.Map<IEnumerable<Elemento>, IEnumerable<ElementoViewModel>>(filterListCablesDates); var list = new List <ElementoReportViewModel>(); /// var MaximumPrice=0; foreach (var item in elementosNovedad) { var viewModelMap = _mapper.Map <View_Novedad_Elemento_Report, ElementoReportViewModel>(item); string hourStartFormat = DateTime.ParseExact(item.HoraInicio, "HH:mm", CultureInfo.CurrentCulture).ToString("hh:mm tt"); string hourEndFormat = DateTime.ParseExact(item.HoraFin, "HH:mm", CultureInfo.CurrentCulture).ToString("hh:mm tt"); viewModelMap.Usuario = string.Format("{0} {1}", item.Nombre_Usuario, item.Apellido_Usuario); viewModelMap.Fotos = new List <FotoViewModel>(); //list Fotos var listFotos = new List <Foto>(); if (Detalle_Tipo_Novedad_Id == 0) { } var listFotosPoste = await _fotoRepository.AllIncludingAsyncWhere(a => a.Elemento_Id == item.Elemento_Id); foreach (var itemfoto in listFotosPoste.ToList().Where(a => a.Novedad_Id == item.Novedad_Id || a.Novedad_Id == 0)) { listFotos.Add(itemfoto); } viewModelMap.Fotos = _mapper.Map <IEnumerable <Foto>, IEnumerable <FotoViewModel> >(listFotos).ToList(); list.Add(viewModelMap); } //empresa.as return(list.AsQueryable()); }