public List <CheckListRoladoraHorometroInfo> ObtenerHorometros(int turno, int organizacionID) { CheckListRoladoraInfo ultimoCheckListRoladora = ValidarCheckList(organizacionID); if (ultimoCheckListRoladora == null) { ultimoCheckListRoladora = new CheckListRoladoraInfo { CheckListRoladoraGeneral = new CheckListRoladoraGeneralInfo() }; } var checkListRoladoraHorometroDAL = new Integracion.DAL.Implementacion.CheckListRoladoraHorometroDAL(); List <CheckListRoladoraHorometroInfo> listaHorometros = null; if (ultimoCheckListRoladora.CheckListRoladoraGeneral.Turno == turno) { listaHorometros = checkListRoladoraHorometroDAL.ObtenerPorCheckListRoladoraGeneralID( ultimoCheckListRoladora.CheckListRoladoraGeneral.CheckListRoladoraGeneralID); } else { ultimoCheckListRoladora = new CheckListRoladoraInfo { CheckListRoladoraGeneral = new CheckListRoladoraGeneralInfo() }; } if (listaHorometros == null) { listaHorometros = new List <CheckListRoladoraHorometroInfo>(); var horometroDefault = new CheckListRoladoraHorometroInfo { CheckListRoladoraGeneral = ultimoCheckListRoladora.CheckListRoladoraGeneral }; listaHorometros.Add(horometroDefault); } return(listaHorometros); }
private void GuardarCheckListRoladoParametro(List <CheckListRoladoraInfo> listaCheckListRoladora , CheckListRoladoraGeneralInfo checkListRoladoraGeneral , List <CheckListRoladoraDetalleInfo> checkListRoladoraDetalle , List <CheckListRoladoraHorometroInfo> listaCheckListRoladoraHorometro , int organizacionID) { using (var transaction = new TransactionScope()) { CheckListRoladoraInfo checkList = listaCheckListRoladora.FirstOrDefault(); if (checkList == null) { return; } CheckListRoladoraInfo ultimoCheckListRoladora = ValidarCheckList(organizacionID); if (ultimoCheckListRoladora == null) { ultimoCheckListRoladora = new CheckListRoladoraInfo { CheckListRoladoraGeneral = new CheckListRoladoraGeneralInfo() }; } var checkListRoladoraGeneralDAL = new Integracion.DAL.Implementacion.CheckListRoladoraGeneralDAL(); int checkListRoladoraGeneralID; if (ultimoCheckListRoladora.CheckListRoladoraGeneral.Turno == checkListRoladoraGeneral.Turno) { checkList.CheckListRoladoraID = ultimoCheckListRoladora.CheckListRoladoraID; checkList.CheckListRoladoraGeneral = ultimoCheckListRoladora.CheckListRoladoraGeneral; checkListRoladoraGeneral.CheckListRoladoraGeneralID = ultimoCheckListRoladora.CheckListRoladoraGeneral.CheckListRoladoraGeneralID; checkListRoladoraGeneral.UsuarioIDSupervisor = ultimoCheckListRoladora.CheckListRoladoraGeneral.UsuarioIDSupervisor; checkListRoladoraGeneral.Observaciones = ultimoCheckListRoladora.CheckListRoladoraGeneral.Observaciones; checkListRoladoraGeneralDAL.Actualizar(checkListRoladoraGeneral); checkListRoladoraGeneralID = checkListRoladoraGeneral.CheckListRoladoraGeneralID; } else { checkListRoladoraGeneralID = checkListRoladoraGeneralDAL.Crear(checkListRoladoraGeneral); } listaCheckListRoladora.ForEach(roladora => roladora.CheckListRoladoraGeneralID = checkListRoladoraGeneralID); var checkListRoladoraHorometroDAL = new Integracion.DAL.Implementacion.CheckListRoladoraHorometroDAL(); List <CheckListRoladoraHorometroInfo> listaHorometros = checkListRoladoraHorometroDAL.ObtenerPorCheckListRoladoraGeneralID(checkListRoladoraGeneralID); if (listaCheckListRoladoraHorometro.Any()) { foreach (var horometro in listaCheckListRoladoraHorometro) { horometro.CheckListRoladoraGeneralID = checkListRoladoraGeneralID; if (listaHorometros == null || !listaHorometros.Any()) { continue; } CheckListRoladoraHorometroInfo horometroExiste = listaHorometros.FirstOrDefault( hor => hor.Roladora.RoladoraID == horometro.Roladora.RoladoraID && hor.CheckListRoladoraGeneral.CheckListRoladoraGeneralID == horometro.CheckListRoladoraGeneralID); if (horometroExiste != null) { horometro.CheckListRoladoraHorometroID = horometroExiste.CheckListRoladoraHorometroID; } } checkListRoladoraHorometroDAL.Crear(listaCheckListRoladoraHorometro); } if (checkListRoladoraDetalle != null && checkListRoladoraDetalle.Any()) { var checkListRoladoraDALAnterior = new Integracion.DAL.Implementacion.CheckListRoladoraDAL(); foreach (var checkListRoladora in listaCheckListRoladora) { ultimoCheckListRoladora = ValidarCheckList(organizacionID); if (ultimoCheckListRoladora == null) { ultimoCheckListRoladora = new CheckListRoladoraInfo { CheckListRoladoraGeneral = new CheckListRoladoraGeneralInfo() }; } if (ultimoCheckListRoladora.CheckListRoladoraGeneral.Turno == checkListRoladoraGeneral.Turno) { checkListRoladora.CheckListRoladoraID = ultimoCheckListRoladora.CheckListRoladoraID; checkListRoladora.CheckListRoladoraGeneral = ultimoCheckListRoladora.CheckListRoladoraGeneral; checkListRoladoraGeneral.CheckListRoladoraGeneralID = ultimoCheckListRoladora.CheckListRoladoraGeneral.CheckListRoladoraGeneralID; checkListRoladoraDALAnterior.Actualizar(checkListRoladora); } else { checkListRoladora.CheckListRoladoraGeneralID = checkListRoladoraGeneralID; checkListRoladora.CheckListRoladoraGeneral.CheckListRoladoraGeneralID = checkListRoladoraGeneralID; checkListRoladoraDALAnterior.Crear(checkListRoladora); } } } transaction.Complete(); } }
private dynamic ValidarCheckListCompletado(List <CheckListRoladoraDetalleInfo> checkListRoladoraDetalle) { dynamic checkListCompleto; if (checkListRoladoraDetalle != null && checkListRoladoraDetalle.Any()) { CheckListRoladoraInfo checkListRoladora = checkListRoladoraDetalle.Select(roladora => new CheckListRoladoraInfo { CheckListRoladoraHorometro = new CheckListRoladoraHorometroInfo { HorometroInicial = roladora.CheckListRoladora.CheckListRoladoraHorometro.HorometroInicial, HorometroFinal = roladora.CheckListRoladora.CheckListRoladoraHorometro.HorometroFinal } //HorometroInicial = roladora.CheckListRoladora.HorometroInicial, //HorometroFinal = roladora.CheckListRoladora.HorometroFinal }).FirstOrDefault(); CheckListRoladoraGeneralInfo checkListRoladoraGeneral = checkListRoladoraDetalle.Select(general => new CheckListRoladoraGeneralInfo { UsuarioIDSupervisor = general.CheckListRoladora. CheckListRoladoraGeneral.UsuarioIDSupervisor, Observaciones = general.CheckListRoladora. CheckListRoladoraGeneral.Observaciones, SurfactanteInicio = general.CheckListRoladora. CheckListRoladoraGeneral.SurfactanteInicio, SurfactanteFin = general.CheckListRoladora. CheckListRoladoraGeneral.SurfactanteFin, ContadorAguaInicio = general.CheckListRoladora. CheckListRoladoraGeneral.ContadorAguaInicio, ContadorAguaFin = general.CheckListRoladora. CheckListRoladoraGeneral.ContadorAguaFin, GranoEnteroFinal = general.CheckListRoladora. CheckListRoladoraGeneral.GranoEnteroFinal }).FirstOrDefault(); List <CheckListRoladoraDetalleInfo> checkListDetalle = checkListRoladoraDetalle.Where(clave => clave.CheckListRoladoraDetalleID > 0).OrderBy( clave => clave.CheckListRoladoraDetalleID).Select(det => det).ToList(); bool completado = !string.IsNullOrEmpty(checkListRoladora.CheckListRoladoraHorometro.HorometroFinal) && checkListRoladoraGeneral.SurfactanteInicio.HasValue && checkListRoladoraGeneral.SurfactanteFin.HasValue && checkListRoladoraGeneral.ContadorAguaInicio.HasValue && checkListRoladoraGeneral.ContadorAguaFin.HasValue && checkListRoladoraGeneral.GranoEnteroFinal.HasValue && (checkListDetalle != null && checkListDetalle.Any() && checkListDetalle.Count(accion => accion.CheckListRoladoraAccionID > 0) > 0); var checkListRoladoraHorometroDAL = new Integracion.DAL.Implementacion.CheckListRoladoraHorometroDAL(); var checkList = checkListRoladoraDetalle.FirstOrDefault(); List <CheckListRoladoraHorometroInfo> listaHorometros = checkListRoladoraHorometroDAL.ObtenerPorCheckListRoladoraGeneralID(checkList.CheckListRoladora.CheckListRoladoraGeneralID); checkListCompleto = new { Completo = completado ? 1 : 0, CheckListRoladora = checkListRoladora, CheckListRoladoraGeneral = checkListRoladoraGeneral, CheckListRoladoraDetalle = checkListDetalle, CheckListRoladoraHorometro = listaHorometros }; } else { checkListCompleto = new { Completo = 0 }; } return(checkListCompleto); }