public RetrieveTrackXIdRes RetrieveTrackXId(RetrieveTrackXIdReq oReq)
        {
            RetrieveTrackXIdRes oRes = new RetrieveTrackXIdRes();

            ObjectParameter oEstado  = new ObjectParameter("ESTADO", "00");
            ObjectParameter oMensaje = new ObjectParameter("MENSAJE", string.Empty);

            try
            {
                using (Modelo.components_bdEntities oModelo = new Modelo.components_bdEntities())
                {
                    oRes.Track = oModelo.PA_RET_TRACK_X_ID(oReq.id, oEstado, oMensaje).ToList();

                    //Se valida el resultado
                    if (oRes.Track == null || oEstado.Value.ToString().Equals("99"))
                    {
                        oRes.estado  = "99";
                        oRes.mensaje = "MENSAJE_ERROR_AD " + oMensaje.Value.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                oRes.estado  = "99";
                oRes.mensaje = "MENSAJE_ERROR_AD " + ((ex.InnerException != null) ? Environment.NewLine + ex.InnerException.Message : string.Empty);
                throw;
            }
            finally
            {
                //Liberamos la memoria.
                oEstado  = null;
                oMensaje = null;
            }
            return(oRes);
        }
示例#2
0
        public RetrieveTrackXIdRes RetrieveTrackXId(RetrieveTrackXIdReq oReq)
        {
            ConsultasAD         consultasAD = new ConsultasAD();
            RetrieveTrackXIdRes oRes        = new RetrieveTrackXIdRes();

            try
            {
                oRes = consultasAD.RetrieveTrackXId(oReq);
            }
            catch (Exception ex)
            {
                oRes.estado  = "99";
                oRes.mensaje = "MENSAJE_ERROR_LN" + ((ex.InnerException != null) ? Environment.NewLine + ex.InnerException.Message : string.Empty);
                throw;
            }
            finally
            {
                // Liberamos la memoria
                consultasAD = null;
            }
            return(oRes);
        }
        public ActionResult SaveTrack(TrackModels modelo)
        {
            string respuesta = "00";

            ConsultasLN      consultasLN      = new ConsultasLN();
            MantenimientosLN mantenimientosLN = new MantenimientosLN();;

            RetrieveTrackXIdReq oRetTrackReq = null;
            RetrieveTrackXIdRes oRetTrackRes = null;

            SaveTrackReq oSaveTrackReq = null;
            SaveTrackRes oSaveTrackRes = null;

            RetrieveTrackXUserReq oRetTrackXUserReq = null;
            RetrieveTrackXUserRes oRetTrackXUserRes = null;

            SaveTrackXUserReq oSaveTrackXUserReq = null;
            SaveTrackXUserRes oSaveTrackXUserRes = null;

            try
            {
                if (modelo != null)
                {
                    oRetTrackReq    = new RetrieveTrackXIdReq();
                    oRetTrackReq.id = modelo.id;
                    //Consulta si la canción se encuentra en la base de datos
                    oRetTrackRes = consultasLN.RetrieveTrackXId(oRetTrackReq);

                    if (oRetTrackRes != null && oRetTrackRes.Track != null)
                    {
                        if (oRetTrackRes.Track.Count > 0)
                        {
                            modelo.track_id = oRetTrackRes.Track[0].track_id;
                        }
                        else
                        {
                            oSaveTrackReq             = new SaveTrackReq();
                            oSaveTrackReq.track_id    = Guid.NewGuid();
                            oSaveTrackReq.name        = modelo.name != null ? modelo.name : "";
                            oSaveTrackReq.spotify_url = modelo.spotify_url != null ? modelo.spotify_url : "";
                            oSaveTrackReq.href        = modelo.href != null ? modelo.href : "";
                            oSaveTrackReq.id          = modelo.id;
                            oSaveTrackReq.preview_url = modelo.preview_url != null ? modelo.preview_url : "";
                            oSaveTrackReq.uri         = modelo.uri != null ? modelo.uri : "";
                            oSaveTrackReq.image_url   = modelo.image_url != null ? modelo.image_url : "";

                            //Si la canción no se encuentra en la base de datos la inserta
                            oSaveTrackRes = mantenimientosLN.SaveTrack(oSaveTrackReq);

                            if (oSaveTrackRes != null && oSaveTrackRes.estado.Equals("00"))
                            {
                                modelo.track_id = oSaveTrackReq.track_id;
                            }
                        }

                        //Consulta si el usuario tiene la canción guardada
                        oRetTrackXUserReq          = new RetrieveTrackXUserReq();
                        oRetTrackXUserReq.id_user  = modelo.user_id;
                        oRetTrackXUserReq.track_id = modelo.id;

                        oRetTrackXUserRes = consultasLN.RetrieveTrackXUser(oRetTrackXUserReq);

                        if (oRetTrackXUserRes != null && oRetTrackXUserRes.Track != null)
                        {
                            if (oRetTrackXUserRes.Track.Count == 0)
                            {
                                oSaveTrackXUserReq          = new SaveTrackXUserReq();
                                oSaveTrackXUserReq.id_user  = modelo.user_id;
                                oSaveTrackXUserReq.track_id = modelo.id;

                                oSaveTrackXUserRes = mantenimientosLN.SaveTrackXUser(oSaveTrackXUserReq);
                            }
                        }
                        return(Json(new { respuesta = respuesta, resultado = modelo }));
                    }
                    else
                    {
                        return(Json(new { respuesta = "99" }));
                    }
                }
            }

            catch (Exception ex)
            {
            }

            return(Json(new { respuesta = "00" }));
        }