Пример #1
0
        public void Save()
        {
            var currentEntity = new Datos.ContratoEmpresa
            {
                NumeroContrato                 = NumeroContrato,
                ObjetoContrato                 = ObjetoContrato,
                FechaAP                        = FechaAP,
                ValorInicialEnPesos            = ValorInicialPesos,
                PlazoContratoMeses             = Convert.ToByte(PlazoContratoMeses),
                NumeroAPContrato               = Convert.ToInt32(NumeroApPresupuestal),
                NumeroActaConcejoDirectivo     = Convert.ToInt32(NumeroActaConsejoDirectivo),
                FechaActaConcejoDirectivo      = FechaConsejoDirectivo,
                ValorEnte                      = ValorEnte,
                Valorsena                      = ValorSena,
                CertificadoDisponibilidad      = Convert.ToInt32(CertificadoDisponibilidad),
                FechaCertificadoDisponibilidad = FechaCertificadoDisponibilidad,
                Estado       = EstadoContrato,
                CodEmpresa   = CodigoProyecto.GetValueOrDefault(0), //CodEmpresa = CodigoProyecto - En la consulta del insert se busca por proyecto no por empresa.
                TipoContrato = TipoContrato
            };

            Negocio.PlanDeNegocioV2.Administracion.Interventoria.Abogado.Insert(currentEntity);
            Color          = "azul";
            MensajeSistema = "Actualizado correctamente.";
        }
Пример #2
0
        public void Procesar(int countDuplicados, int?codOperador)
        {
            try
            {
                if (countDuplicados > 1)
                {
                    throw new Exception("Registro duplicado, no se guardo información, rectifique el archivo excel.");
                }

                CheckNull();

                if (CodigoProyecto == 0)
                {
                    throw new Exception("El código de proyecto no puede ser 0.");
                }

                FieldValidate.ValidateNumeric("Número de contrato", NumeroContrato, true, int.MaxValue);
                FieldValidate.ValidateString("Número de contrato", NumeroContrato, true, 10);
                FieldValidate.ValidateString("Objeto de contrato", ObjetoContrato, true, 255);
                FieldValidate.ValidateNumeric("Plazo de contrato en meses", PlazoContratoMeses, true, int.MaxValue);
                FieldValidate.ValidateString("Plazo de contrato en meses", PlazoContratoMeses, true, 2);
                FieldValidate.ValidateNumeric("Número AP presupuestal", NumeroApPresupuestal, true, int.MaxValue);
                FieldValidate.ValidateString("Número AP presupuestal", NumeroApPresupuestal, true, 10);
                FieldValidate.ValidateNumeric("Número de acta de consejo directivo", NumeroActaConsejoDirectivo, true, int.MaxValue);
                FieldValidate.ValidateString("Número de acta de consejo directivo", NumeroActaConsejoDirectivo, true, 10);
                FieldValidate.ValidateNumeric("Certificado de disponibilidad", CertificadoDisponibilidad, true, int.MaxValue);
                FieldValidate.ValidateString("Certificado de disponibilidad", CertificadoDisponibilidad, true, 5);
                FieldValidate.ValidateString("Estado del contrato", EstadoContrato, true);
                FieldValidate.ValidateString("Valor inicial en pesos", ValorInicialPesos.ToString(), true, 15);
                FieldValidate.ValidateNumeric("Valor inicial en pesos", ValorInicialPesos.ToString(), true, Int64.MaxValue);
                FieldValidate.ValidateString("Valor Ente", ValorEnte.ToString(), true, 15);
                FieldValidate.ValidateNumeric("Valor Ente", ValorEnte.ToString(), true, Int64.MaxValue);
                FieldValidate.ValidateString("Valor Sena", ValorSena.ToString(), true, 15);
                FieldValidate.ValidateNumeric("Valor Sena", ValorSena.ToString(), true, Int64.MaxValue);
                FieldValidate.ValidateString("Tipo contrato", TipoContrato, true, 150);

                if (!Negocio.PlanDeNegocioV2.Utilidad.ProyectoGeneral.ProyectoExist(CodigoProyecto.GetValueOrDefault()))
                {
                    throw new ApplicationException("El proyecto no existe en el sistema.");
                }

                var estado = Negocio.PlanDeNegocioV2.Utilidad.ProyectoGeneral.getEstadoProyecto(CodigoProyecto.GetValueOrDefault());
                if (estado != Constantes.CONST_Ejecucion)
                {
                    throw new ApplicationException("El proyecto no esta en estado ejecución.");
                }

                string[] estadosContrato = new string[] { "Condonado", "Terminado", "No condonado", "En evaluación de indicadores", "Liquidados", "Con ejecución de recursos", "Sin ejecución de Recursos", "Legalización" };

                if (!estadosContrato.Contains(EstadoContrato.Trim(), StringComparer.InvariantCultureIgnoreCase))
                {
                    throw new ApplicationException("Estado invalido, solo es permitido: Condonado,Terminado,No condonado,En evaluación de indicadores,Liquidados,Con ejecución de recursos,Sin ejecución de Recursos,Legalización");
                }

                if (codOperador != null)
                {
                    if (!Negocio.PlanDeNegocioV2.Utilidad.ProyectoGeneral.ProyectoOperador(CodigoProyecto.GetValueOrDefault(), codOperador))
                    {
                        throw new ApplicationException("El proyecto a cargar no está asociado a su operador.");
                    }
                }

                if (Negocio.PlanDeNegocioV2.Administracion.Interventoria.Abogado.ExistContrato(NumeroContrato, CodigoProyecto.GetValueOrDefault()))
                {
                    throw new ApplicationException("El número contrato ya existe para otro proyecto.");
                }

                Save();
            }
            catch (ApplicationException ex)
            {
                Color          = "amarillo";
                MensajeSistema = ex.Message;
            }
            catch (Exception ex)
            {
                Color          = "rojo";
                MensajeSistema = "Error : " + ex.Message;
            }
        }