Beispiel #1
0
 public int InsertarPrefecto(Prefecto _objPrefecto)
 {
     try
     {
         return(int.Parse(db.Sp_PrefectoInsertar(_objPrefecto.Provincia.IdProvincia, _objPrefecto.Representante, _objPrefecto.FechaIngreso, _objPrefecto.FechaSalida, _objPrefecto.Estado).Select(x => x.Value.ToString()).FirstOrDefault()));
     }
     catch (Exception)
     {
         return(0);
     }
 }
Beispiel #2
0
 public int ModificarPrefecto(Prefecto _objPrefecto)
 {
     try
     {
         db.Sp_PrefectoModificar(_objPrefecto.IdPrefecto, _objPrefecto.Provincia.IdProvincia, _objPrefecto.Representante, _objPrefecto.FechaIngreso, _objPrefecto.FechaSalida, _objPrefecto.Estado);
         return(_objPrefecto.IdPrefecto);
     }
     catch (Exception)
     {
         return(0);
     }
 }
        public object prefecto_modificar(Prefecto _objPrefecto)
        {
            object        _respuesta = new object();
            RespuestaHTTP _http      = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "500").FirstOrDefault();

            try
            {
                if (_objPrefecto == null)
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "No se encontró el objeto prefecto";
                }
                else if (_objPrefecto.IdPrefectoEncriptado == null || string.IsNullOrEmpty(_objPrefecto.IdPrefectoEncriptado))
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "Ingrese el identificador del prefecto";
                }
                else if (_objPrefecto.Provincia.IdProvinciaEncriptado == null || string.IsNullOrEmpty(_objPrefecto.Provincia.IdProvinciaEncriptado))
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "Ingrese la provincia";
                }
                else if (_objPrefecto.Representante == null || string.IsNullOrEmpty(_objPrefecto.Representante))
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "Ingrese el nombre del representante";
                }
                else if (_objPrefecto.FechaIngreso.ToShortDateString() == "01/01/0001")
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "Ingrese la fecha de ingreso";
                }
                else if (_objPrefecto.FechaSalida != null && (DateTime.Compare(_objPrefecto.FechaIngreso, Convert.ToDateTime(_objPrefecto.FechaSalida)) == 1 || DateTime.Compare(_objPrefecto.FechaIngreso, Convert.ToDateTime(_objPrefecto.FechaSalida)) == 0))
                {
                    _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                    _http.mensaje = "La fecha de ingreso debe ser menor a la fecha de salida";
                }
                else
                {
                    int _idProvincia = Convert.ToInt32(_seguridad.DesEncriptar(_objPrefecto.Provincia.IdProvinciaEncriptado));
                    int _idPrefecto  = Convert.ToInt32(_seguridad.DesEncriptar(_objPrefecto.IdPrefectoEncriptado));
                    var _objUltimoPrefectoSinSalida = _objCatalogoPrefecto.ConsultarPrefectoPorIdProvincia(_idProvincia).Where(c => c.Estado == true && c.FechaSalida == null && c.IdPrefecto != _idPrefecto).FirstOrDefault();
                    if (_objUltimoPrefectoSinSalida != null)
                    {
                        _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                        _http.mensaje = "No puede modificar el nuevo prefecto, mientras no haya registrado la fecha de salida de " + _objUltimoPrefectoSinSalida.Representante.ToUpper();
                    }
                    else
                    {
                        var _objUltimoPrefectoConSalida = _objCatalogoPrefecto.ConsultarPrefectoPorIdProvincia(_idProvincia).Where(c => c.Estado == true && c.IdPrefecto != _idPrefecto).OrderByDescending(c => c.FechaSalida).FirstOrDefault();
                        if (_objUltimoPrefectoConSalida != null && (DateTime.Compare(Convert.ToDateTime(_objUltimoPrefectoConSalida.FechaSalida), _objPrefecto.FechaIngreso) > 0))
                        {
                            _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                            _http.mensaje = "La fecha de ingreso del prefecto debe ser mayor a la fecha de salida de " + _objUltimoPrefectoConSalida.Representante.ToUpper();
                        }
                        else
                        {
                            _objPrefecto.Estado                = true;
                            _objPrefecto.IdPrefecto            = _idPrefecto;
                            _objPrefecto.Provincia.IdProvincia = _idProvincia;
                            _idPrefecto = _objCatalogoPrefecto.ModificarPrefecto(_objPrefecto);
                            if (_idPrefecto == 0)
                            {
                                _http         = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "400").FirstOrDefault();
                                _http.mensaje = "Ocurrió un error al tratar de modificar al prefecto";
                            }
                            else
                            {
                                var _objPrefectoModificado = _objCatalogoPrefecto.ConsultarPrefectoPorId(_idPrefecto).FirstOrDefault();
                                _objPrefectoModificado.IdPrefecto            = 0;
                                _objPrefectoModificado.Provincia.IdProvincia = 0;
                                _respuesta = _objPrefectoModificado;
                                _http      = _objCatalogoRespuestasHTTP.consultar().Where(x => x.codigo == "200").FirstOrDefault();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _http.mensaje = _http.mensaje + " " + ex.Message.ToString();
            }
            return(new { respuesta = _respuesta, http = _http });
        }