示例#1
0
        public static int Create(RatingDataModel data, RequestProfile requestProfile)
        {
            var sql   = Save(data, "Create", requestProfile);
            var newId = DBDML.RunScalarSQL("Rating.Insert", sql, DataStoreKey);

            return(Convert.ToInt32(newId));
        }
示例#2
0
        public void Delete(string value)
        {
            var dataDelete = new RatingDataModel();

            dataDelete.RatingId = int.Parse(value);
            RatingDataManager.Delete(dataDelete, SessionVariables.RequestProfile);
        }
示例#3
0
        public static string Save(RatingDataModel data, string action, RequestProfile requestProfile)
        {
            var sql = "EXEC ";


            switch (action)
            {
            case "Create":
                sql += "dbo.RatingInsert  " +
                       " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) +
                       ", " + ToSQLParameter(BaseDataModel.BaseDataColumns.ApplicationId, requestProfile.ApplicationId);
                break;

            case "Update":
                sql += "dbo.RatingUpdate  " +
                       " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId);
                break;

            default:
                break;
            }
            sql = sql + ", " + ToSQLParameter(data, RatingDataModel.DataColumns.RatingId);
            sql = sql + ", " + ToSQLParameter(data, RatingDataModel.DataColumns.Date);
            sql = sql + ", " + ToSQLParameter(data, RatingDataModel.DataColumns.Analyst);
            sql = sql + ", " + ToSQLParameter(data, RatingDataModel.DataColumns.Rating);
            sql = sql + ", " + ToSQLParameter(data, RatingDataModel.DataColumns.Notes);

            return(sql);
        }
示例#4
0
        public RatingDataModel GetById(string value)
        {
            var dataQuery = new RatingDataModel();

            dataQuery.RatingId = int.Parse(value);

            var result = RatingDataManager.GetEntityDetails(dataQuery, SessionVariables.RequestProfile, 1);

            return(result[0]);
        }
示例#5
0
        public static bool DoesExist(RatingDataModel data, RequestProfile requestProfile)
        {
            var doesExistRequest = new RatingDataModel();

            doesExistRequest.ApplicationId = data.ApplicationId;

            var list = GetEntityDetails(doesExistRequest, requestProfile, 0);

            return(list.Count > 0);
        }
示例#6
0
        public IHttpActionResult Rate(int id, RatingDataModel rating)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var snipet = data.CodeSnipets.All().Where(c => c.Id == id).FirstOrDefault();

            if (snipet == null)
            {
                return(BadRequest("This snipet does not exist!"));
            }

            var currentUserId = this.userIdProvider.GetUserId();

            if (currentUserId == snipet.UserId)
            {
                return(BadRequest("You cannot rate your own snippets!"));
            }

            var newRating = data.Ratings
                            .All()
                            .Where(r => r.UserId == currentUserId && r.CodeSnipetId == id)
                            .FirstOrDefault();

            if (newRating == null)
            {
                newRating = new Rating
                {
                    CodeSnipetId = id,
                    UserId       = currentUserId,
                    Score        = rating.Score,
                    RatedOn      = DateTime.Now
                };

                this.data.Ratings.Add(newRating);
            }
            else
            {
                newRating.Score   = rating.Score;
                newRating.RatedOn = DateTime.Now;
            }

            this.data.SaveChanges();

            UpdateLastActivityForUser();

            return(Ok());
        }
示例#7
0
        public static void Delete(RatingDataModel data, RequestProfile requestProfile)
        {
            const string sql = @"dbo.RatingDelete ";

            var parameters =
                new
            {
                AuditId    = requestProfile.AuditId
                , RatingId = data.RatingId
            };

            using (var dataAccess = new DataAccessBase(DataStoreKey))
            {
                dataAccess.Connection.Execute(sql, parameters, commandType: CommandType.StoredProcedure);
            }
        }
示例#8
0
        public static List <RatingDataModel> GetEntityDetails(RatingDataModel dataQuery, RequestProfile requestProfile, int returnAuditInfo = BaseDataManager.ReturnAuditInfoOnDetails)
        {
            const string sql = @"dbo.RatingSearch ";

            var parameters =
                new
            {
                AuditId           = requestProfile.AuditId
                , ApplicationId   = requestProfile.ApplicationId
                , ReturnAuditInfo = returnAuditInfo
                , RatingId        = dataQuery.RatingId
            };

            List <RatingDataModel> result;

            using (var dataAccess = new DataAccessBase(DataStoreKey))
            {
                result = dataAccess.Connection.Query <RatingDataModel>(sql, parameters, commandType: CommandType.StoredProcedure).ToList();
            }

            return(result);
        }
示例#9
0
        public static string ToSQLParameter(RatingDataModel data, string dataColumnName)
        {
            var returnValue = "NULL";

            switch (dataColumnName)
            {
            case RatingDataModel.DataColumns.RatingId:
                if (data.RatingId != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, RatingDataModel.DataColumns.RatingId, data.RatingId);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, RatingDataModel.DataColumns.RatingId);
                }
                break;

            case RatingDataModel.DataColumns.Date:
                if (data.Date != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, RatingDataModel.DataColumns.Date, data.Date);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, RatingDataModel.DataColumns.Date);
                }
                break;

            case RatingDataModel.DataColumns.Analyst:
                if (!string.IsNullOrEmpty(data.Analyst))
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, RatingDataModel.DataColumns.Analyst, data.Analyst);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, RatingDataModel.DataColumns.Analyst);
                }
                break;

            case RatingDataModel.DataColumns.Rating:
                if (data.Rating != null)
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, RatingDataModel.DataColumns.Rating, data.Rating);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, RatingDataModel.DataColumns.Rating);
                }
                break;

            case RatingDataModel.DataColumns.Notes:
                if (!string.IsNullOrEmpty(data.Notes))
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, RatingDataModel.DataColumns.Notes, data.Notes);
                }
                else
                {
                    returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, RatingDataModel.DataColumns.Notes);
                }
                break;


            default:
                returnValue = BaseDataManager.ToSQLParameter(data, dataColumnName);
                break;
            }

            return(returnValue);
        }
示例#10
0
        public static void Update(RatingDataModel data, RequestProfile requestProfile)
        {
            var sql = Save(data, "Update", requestProfile);

            DBDML.RunSQL("Rating.Update", sql, DataStoreKey);
        }
示例#11
0
        public static DataTable Search(RatingDataModel data, RequestProfile requestProfile)
        {
            var list = GetEntityDetails(data, requestProfile, 0);

            return(list.ToDataTable());
        }