コード例 #1
0
ファイル: SurveyController.cs プロジェクト: kylin589/EmePro
 /// <summary>
 /// 作者:Vincen
 /// 时间:2014.01.03
 /// 描述:获取问卷详情信息
 /// </summary>
 /// <param name="surveyId"></param>
 /// <returns></returns>
 public ActionResult SurveyDetail(int? surveyId)
 {
     var model = new Survey();
     if (surveyId.HasValue)
     {
         model = SurveyBLL.GetSurveyBySurveyId(surveyId.Value);
     }
     return PartialView("_Detail", model);
 }
コード例 #2
0
ファイル: SurveyBLL.cs プロジェクト: kylin589/EmePro
        /// <summary>
        /// 作者:Kylin
        /// 时间:2014.1.23
        /// 描述:编辑问卷详情 
        /// ----------------------
        /// 作者:Vincen
        /// 时间:2014.04.01
        /// </summary>
        /// <param name="model">问卷详情实体</param>
        /// <returns></returns>
        public static bool UpdateSurveyInfo(Survey model)
        {
            using (var edb = new EmeEntities())
            {
                var survey = edb.Survey.FirstOrDefault(p => p.Id == model.Id);
                if (null == survey)
                    return false;

                survey.Subject = model.Subject;
                survey.Votes = model.Votes;
                survey.IsRights = model.IsRights;
                survey.PlatformType = model.PlatformType;
                survey.BeginTime = model.BeginTime;
                survey.EndTime = model.EndTime;
                survey.Status = model.Status;
                survey.UpdateBy = model.UpdateBy;
                survey.UpdateTime = model.UpdateTime;
                survey.Remark = model.Remark;

                edb.Entry(survey).State = EntityState.Modified;
                return edb.SaveChanges() > 0;
            }
        }
コード例 #3
0
ファイル: SurveyBLL.cs プロジェクト: kylin589/EmePro
        /// <summary>
        /// 作者:Kylin
        /// 时间:2014.1.23
        /// 描述:添加问卷详情 
        /// </summary>
        /// <param name="branchId"></param>
        /// <param name="subject"></param>
        /// <param name="platformtype"></param>
        /// <param name="beginTime"></param>
        /// <param name="endTime"></param>
        /// <param name="surveyItems"></param>
        /// <param name="remark"></param>
        /// <returns></returns>
        public static bool CreateSurvey(string branchId, string subject, int? platformtype, bool isPopup, DateTime beginTime, DateTime endTime, List<SurveyItemsModel> surveyItems, string remark, int loginUserId)
        {
            using (var tran = new TransactionScope())
            {
                using (var edb = new EmeEntities())
                {
                    try
                    {
                        var survey = new Survey()
                        {
                            PlatformType = platformtype,
                            IsPopup = isPopup,
                            Subject = subject,
                            IsRights = true,
                            BeginTime = beginTime,
                            EndTime = endTime,
                            Remark = remark,
                            Status = ConvertEnum.StatusTypeForActive,
                            UpdateTime = DateTime.Now
                        };

                        edb.Entry(survey).State = EntityState.Added;
                        edb.SaveChanges();

                        foreach (var addItem in surveyItems)
                        {
                            var surveyItem = new SurveyItem()
                            {
                                Title = addItem.title,
                                Status = ConvertEnum.StatusTypeForActive,
                                SurveyId = survey.Id,
                                IsMultiple = addItem.IsMulti,
                                CreateTime = DateTime.Now
                            };

                            edb.Entry(surveyItem).State = EntityState.Added;
                            edb.SaveChanges();

                            foreach (var addOption in addItem.Options)
                            {
                                var surveyItemOption = new SurveyItemOption()
                                {
                                    Title = addOption.title,
                                    Status = ConvertEnum.StatusTypeForActive,
                                    SurveyItemId = surveyItem.Id,
                                    CreateTime = DateTime.Now
                                };

                                edb.Entry(surveyItemOption).State = EntityState.Added;
                            }
                        }

                        if (branchId.Trim() != "")
                        {
                            var branchIdList = branchId.Split(',');
                            foreach (var bid in branchIdList)
                            {
                                var surveyRights = new SurveyRights()
                                {
                                    SurveyId = survey.Id,
                                    BranchId = Convert.ToInt32(bid),
                                    Status = ConvertEnum.StatusTypeForActive,
                                    CreateTime = DateTime.Now
                                };
                                edb.Entry(surveyRights).State = EntityState.Added;
                            }
                        }
                        var result = edb.SaveChanges() > 0;
                        tran.Complete();

                        return result;
                    }
                    catch (Exception ex)
                    {
                        tran.Dispose();
                        Common.MSMQ.QueueManager.AddExceptionLog(new ExceptionLogs()
                        {
                            ExceptionType = CommonHelper.To<int>(ExceptionType.Message),
                            Message = string.Format("SurveyBLL-CreateSurvey:{0};{1};{2}", ex.Message, ex.InnerException, ex.HelpLink),
                            IsTreat = false,
                            CreateBy = loginUserId,
                            CreateTime = DateTime.Now
                        });
                        return false;
                    }
                }
            }
        }