Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }