/// <summary> /// 作品评分 /// </summary> /// <returns></returns> public static int WorksScore(long worksExpertID, long worksID, long expertID, SortedList <int, int> scoreDeltails, string txtPingYu) { List <RatingDetails> dtDetail = DAL.Works.GetRatingDetailsByWorksExpertID(worksExpertID); ContestEntities db = new ContestEntities(); using (TransactionScope scope = new TransactionScope()) { try { int scores = 0; for (int i = 0; i < scoreDeltails.Count; i++) { int standardID = scoreDeltails.Keys[i]; RatingDetails dr; List <RatingDetails> drs; drs = dtDetail.Where(p => p.StandardID == standardID).ToList();// ("StandardID=" + standardID); if (drs.Count > 0) { dr = drs[0]; } else { dr = new RatingDetails(); dr.WorksExpertID = worksExpertID; dr.StandardID = standardID; dr.Flag = 1; } dr.Score = scoreDeltails[standardID]; if (drs.Count == 0) { DAL.Works.InsertRatingDetails(db, dr); } else { DAL.Works.UpdateRatingDetails(db, dr); } scores += scoreDeltails[standardID]; } WorksExpert drWorksExpert = DAL.Works.GetWorksExpertByID(worksExpertID)[0]; drWorksExpert.Score = scores; drWorksExpert.Comments = txtPingYu; drWorksExpert.Modified = DateTime.Now; DAL.Works.UpdateWorksExpert(db, drWorksExpert); scope.Complete(); return(1); } catch { scope.Dispose(); return(0); } } }
public static long InsertWorksExpert(ContestEntities db, WorksExpert dr) { WorksExpert dr1 = new WorksExpert(); dr1.WorksID = dr.WorksID; dr1.ExpertID = dr.ExpertID; dr1.Score = dr.Score; dr1.Flag = 1; db.WorksExpert.Add(dr1); db.SaveChanges(); return(dr1.WorksExpertID); }
public static long UpdateWorksExpert(ContestEntities db, WorksExpert dr) { WorksExpert dr1 = db.WorksExpert.SingleOrDefault(p => p.WorksExpertID == dr.WorksExpertID); dr1.WorksID = dr.WorksID; dr1.ExpertID = dr.ExpertID; dr1.Score = dr.Score; dr1.Comments = dr.Comments; dr1.Modified = dr.Modified; dr1.Flag = dr.Flag; db.SaveChanges(); return(1); }
public static long InsertWorksExpert(ContestEntities db, WorksExpert dr) { ContestDll.WorksExpert at = new WorksExpert(); at.Comments = dr.Comments; at.Created = dr.Created; at.ExpertID = dr.ExpertID; at.Flag = 1; at.Score = dr.Score; at.ScoreState = dr.ScoreState; at.WorksID = dr.WorksID; db.WorksExpert.Add(at); db.SaveChanges(); return(at.WorksExpertID); }
/// <summary> /// 作品分到指定专家 /// </summary> /// <param name="drExpert"></param> /// <param name="worksType"></param> /// <returns></returns> public static bool InsertWorksExpert(long worksID, List <long> experts, params object[] finals) { List <WorksExpert> dsType = DAL.Works.GetWorksExpertByID(0); ContestEntities db = new ContestEntities(); using (TransactionScope scope = new TransactionScope()) { try { WorksExpert drRow; foreach (long type1 in experts) { drRow = new WorksExpert(); drRow.WorksID = worksID; drRow.ExpertID = type1; if (finals.Length > 0) { drRow.Score = (float)finals[0]; drRow.Flag = (long)finals[1]; } else { drRow.Score = 0; drRow.Flag = 1; } DAL.Works.InsertWorksExpert(db, drRow); } scope.Complete(); return(true); } catch (Exception ex) { scope.Dispose(); return(false); } } }
public static long SampleScore(long worksExpertID, long worksID, long expertID, SortedList <int, int> scoreDeltails, string txtPingYu) { ContestEntities db = new ContestEntities(); using (TransactionScope scope = new TransactionScope()) { try { float scores = 0; for (int i = 0; i < scoreDeltails.Count; i++) { int standardID = scoreDeltails.Keys[i]; scores += scoreDeltails[standardID]; } long flag = GetScoreResult(worksID, scores); List <WorksExpert> ds = DAL.Works.GetWorksExpertByID(worksExpertID); WorksExpert drWorksExpert; if (ds.Count > 0) { drWorksExpert = ds[0]; } else { drWorksExpert = new WorksExpert(); drWorksExpert.WorksID = worksID; drWorksExpert.ExpertID = expertID; } drWorksExpert.Comments = txtPingYu; drWorksExpert.Score = scores; drWorksExpert.Flag = flag;//样式作品评价训练通过 if (worksExpertID == 0) { drWorksExpert.Created = DateTime.Now; worksExpertID = DAL.User.InsertWorksExpert(db, drWorksExpert); } else { drWorksExpert.Modified = DateTime.Now; DAL.Works.UpdateWorksExpert(drWorksExpert); } List <RatingDetails> dtDetail = DAL.Works.GetRatingDetailsByWorksExpertID(worksExpertID); for (int i = 0; i < scoreDeltails.Count; i++) { int standardID = scoreDeltails.Keys[i]; RatingDetails dr; List <RatingDetails> drs; drs = dtDetail.Where(p => p.StandardID == standardID).ToList();// ("StandardID=" + standardID); if (drs.Count > 0) { dr = drs[0]; } else { dr = new RatingDetails(); dr.WorksExpertID = worksExpertID; dr.StandardID = standardID; dr.Flag = 1; } dr.Score = scoreDeltails[standardID]; if (drs.Count == 0) { DAL.Works.InsertRatingDetails(db, dr); } else { DAL.Works.UpdateRatingDetails(db, dr); } } ////执行多个操作 //var user1 = new User //{ // Name = "bomo", // Age = 21, // Gender = "male" //}; //db.User.Add(user1); //db.SaveChanges(); //var user2 = new User //{ // Name = "toroto", // Age = 20, // Gender = "female" //}; //db.User.Add(user2); db.SaveChanges(); //提交事务 scope.Complete(); return(flag); } catch (Exception ex) { scope.Dispose(); return(0); } } }