Beispiel #1
0
 public HttpResponseMessage Eliminar(CalendarioExcursionActualizarEliminarModel datos, ModelStateDictionary modelo)
 {
     try
     {
         if (String.IsNullOrEmpty(datos.Motivoanulacion))
         {
             resp.Codigo            = (int)Codigos.ERROR_DE_VALIDACION;
             resp.Mensaje           = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
             resp.Erroresvalidacion = new string[] { Errores.error33 }.ToList();
             return(resp.ObjectoRespuesta());
         }
         var proveedor_id = HttpContext.Current.User.Identity.GetUserId();
         if (datos.Fecha <= DateTime.Now)
         {
             resp.Codigo            = (int)Codigos.ERROR_DE_VALIDACION;
             resp.Mensaje           = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
             resp.Erroresvalidacion = new string[] { Errores.error23 }.ToList();
             return(resp.ObjectoRespuesta());
         }
         var calendario = contexto.calendarioexcursion.Where(p => p.exact_id == datos.Exact_id && p.fecha.CompareTo(datos.Fecha) == 0 && p.estadoexcursion_id == (int)EstadoExcursion.activa && p.excursionactividad.configuracion.proveedor_id == proveedor_id).FirstOrDefault();
         if (calendario == null)
         {
             resp.Codigo  = (int)Codigos.REGISTRO_NO_ENCONTRADO;
             resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.REGISTRO_NO_ENCONTRADO);
             return(resp.ObjectoRespuesta());
         }
         calendario.estadoexcursion_id = (int)EstadoExcursion.anulada;
         calendario.motivoanulacion    = datos.Motivoanulacion;
         contexto.SaveChanges();
         Task.Run(() => avisos.ExActAnulada(calendario.id));
         //habría que realizar las transferencias para devolver el dinero a los clientes que tenian hecha una reserva para dicha excursion
         resp.Codigo  = (int)Codigos.OK;
         resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
         return(resp.ObjectoRespuesta());
     }
     catch (Exception ex)
     {
         resp.Codigo    = (int)Codigos.ERROR_DE_SERVIDOR;
         resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_SERVIDOR);
         resp.Excepcion = Excepcion.Create(ex);
         return(resp.ObjectoRespuesta());
     }
 }
Beispiel #2
0
 public HttpResponseMessage Put([FromBody] CalendarioExcursionActualizarEliminarModel datos)
 {
     return(op.Actualizar(datos, this.ModelState));
 }
Beispiel #3
0
        public HttpResponseMessage Actualizar(CalendarioExcursionActualizarEliminarModel datos, ModelStateDictionary modelo)
        {
            DbContextTransaction tran = null;

            try
            {
                if (modelo.IsValid)
                {
                    var proveedor_id = HttpContext.Current.User.Identity.GetUserId();


                    if (datos.Fecha <= DateTime.Now)
                    {
                        resp.Codigo            = (int)Codigos.ERROR_DE_VALIDACION;
                        resp.Mensaje           = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                        resp.Erroresvalidacion = new string[] { Errores.error23 }.ToList();
                        return(resp.ObjectoRespuesta());
                    }
                    if (datos.Fechanueva <= DateTime.Now)
                    {
                        resp.Codigo            = (int)Codigos.ERROR_DE_VALIDACION;
                        resp.Mensaje           = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                        resp.Erroresvalidacion = new string[] { Errores.error11 }.ToList();
                        return(resp.ObjectoRespuesta());
                    }
                    var calendario = contexto.calendarioexcursion.Where(p => p.exact_id == datos.Exact_id && p.fecha.CompareTo(datos.Fecha) == 0 && (p.estadoexcursion_id == (int)EstadoExcursion.activa || p.estadoexcursion_id == (int)EstadoExcursion.fechamodificada) && p.excursionactividad.configuracion.proveedor_id == proveedor_id).FirstOrDefault();
                    if (calendario == null)
                    {
                        resp.Codigo  = (int)Codigos.REGISTRO_NO_ENCONTRADO;
                        resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.REGISTRO_NO_ENCONTRADO);
                        return(resp.ObjectoRespuesta());
                    }
                    if (contexto.calendarioexcursion.Where(p => p.exact_id == datos.Exact_id && p.fecha.CompareTo(datos.Fechanueva) == 0).FirstOrDefault() != null)
                    {
                        resp.Codigo        = (int)Codigos.ERROR_EXISTEN_FECHAS_REPETIDAS;
                        resp.Mensaje       = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_EXISTEN_FECHAS_REPETIDAS);
                        resp.Mensaje_error = Errores.error9;
                        return(resp.ObjectoRespuesta());
                    }
                    tran = contexto.Database.BeginTransaction();
                    DateTime aux = calendario.fecha;
                    calendario.fecha = datos.Fechanueva;
                    calendario.estadoexcursion_id = (int)EstadoExcursion.fechamodificada;
                    contexto.SaveChanges();
                    tran.Commit();
                    Task.Run(() => avisos.FechaCalendarioModificada(calendario.id, aux));
                    resp.Codigo  = (int)Codigos.OK;
                    resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
                    return(resp.ObjectoRespuesta());
                }
                else
                {
                    resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
                    resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                    resp.Objetoerror = modelo;
                    return(resp.ObjectoRespuesta());
                }
            }
            catch (Exception ex)
            {
                if (contexto.Database.CurrentTransaction != null)
                {
                    tran.Rollback();
                }

                resp.Codigo    = (int)Codigos.ERROR_DE_SERVIDOR;
                resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_SERVIDOR);
                resp.Excepcion = Excepcion.Create(ex);
                return(resp.ObjectoRespuesta());
            }
        }