Esempio n. 1
0
 public Request(t_activity entity) : this(entity, false)
 {
     ObjectType = RequestObjectType.Activity;
     ObjectId   = entity.activity_id;
     Name       = entity.get_name_translated(IidCulture.CurrentLanguageId);
     Status     = SetStatus(entity.active);
 }
Esempio n. 2
0
        public ActionResult Record(int indicatorId, int siteId, DateTime?beginDate)
        {
            using (Entity context = new Entity())
            {
                t_indicator indicator = context.t_indicator.Find(indicatorId);
                if (indicator == null)
                {
                    throw new ArgumentException("Invalid indicatorId: " + indicatorId.ToString());
                }

                t_activity activity = indicator.aim.activity;

                t_activity_site activitySite = activity.sites.Where(e => e.site_id == siteId).First();

                if (activitySite == null)
                {
                    throw new ArgumentException(String.Format("Site {0} is not attached to Indicator {1} (Activity {2}).", siteId, indicatorId, activity.activity_id));
                }

                Observation model = new Observation(indicator, activitySite.site, beginDate);

                AccessPass = SecurityGuard(CurrentUser, activity.country_id, activity.activity_id, siteId);
                if (AccessPass == BusinessLayer.Identity.UserSecurityAccess.NoAccess)
                {
                    return(RedirectToAction("NoAccess", "Home"));
                }
                ViewBag.AccessRights = AccessPass;

                return(View(model));
            }
        }
Esempio n. 3
0
        public ActivityTree(int activityId, int selectedIndicatorId, int?siteId, Mode mode)
        {
            t_activity activity = Context.t_activity.Find(activityId);

            if (activity == null)
            {
                throw new ArgumentException("Invalid activityId: " + activityId.ToString());
            }

            // NOTE: Don't use UserAssignedObjects here. Only show active aims/indicators.
            Activity = new Activity(activityId, true);
            Entities = activity.aims.Where(e => e.active == true).OrderBy(e => e.sort).Select(a => new ActivityTreeEntity()
            {
                EntityType = "Aim",
                EntityId   = a.aim_id,
                EntityName = a.get_name_translated(CurrentLanguageId),
                Children   = a.indicators.OrderBy(e => e.sort).Where(e => e.active == true).Select(i => new ActivityTreeEntity()
                {
                    EntityType = "Indicator",
                    EntityId   = i.indicator_id,
                    EntityName = i.name
                }).ToList()
            })
                       .OrderBy(x => x.EntityName)
                       .ToList();
            SelectedIndicatorId = selectedIndicatorId;
            SiteId = siteId;

            Mode = mode;
        }
Esempio n. 4
0
        public Activity(int activityId, bool loadChildren)
        {
            t_activity activity = Context.t_activity.FirstOrDefault(a => a.activity_id == activityId);

            if (activity == null)
            {
                throw new ArgumentException("Invalid activityId: " + activityId.ToString());
            }

            SetProperties(activity, loadChildren, true);
        }
Esempio n. 5
0
        public JsonResult Add(Note model)
        {
            if (ModelState.IsValid)
            {
                using (Entity db = new Entity())
                {
                    try
                    {
                        if (model.ActivityId.HasValue)
                        {
                            t_activity activity = db.t_activity.Find(model.ActivityId);
                            if (activity == null)
                            {
                                throw new ArgumentException("Invalid activityId: " + model.ActivityId.ToString());
                            }
                        }

                        if (model.SiteId.HasValue)
                        {
                            t_site site = db.t_site.Find(model.SiteId);
                            if (site == null)
                            {
                                throw new ArgumentException("Invalid siteId: " + model.SiteId.ToString());
                            }
                        }

                        t_note note = new t_note();
                        note.site_id          = model.SiteId;
                        note.activity_id      = model.ActivityId;
                        note.subject          = model.Subject;
                        note.note_text        = model.NoteText;
                        note.createdby_userid = CurrentUser.Id;
                        note.created_date     = DateTime.Now;
                        db.t_note.Add(note);
                        db.SaveChanges();

                        db.Entry(note).Reference(n => n.createdby).Load();

                        return(GetJsonResult(note));
                    }
                    catch (Exception ex)
                    {
                        return(GetJsonResult(false, "An error occurred: " + ex.ToString()));
                    }
                }
            }
            else
            {
                return(GetJsonResult(false, "Model is invalid."));
            }
        }
Esempio n. 6
0
        public Aim(int activityId)
        {
            t_activity activity = Context.t_activity.Find(activityId);

            if (activity == null)
            {
                throw new ArgumentException("Invalid activityId: " + activityId.ToString());
            }

            ActivityId   = activityId;
            ActivityAims =
                UserAssignedObjects.GetAims(activity.aims, CurrentUser)
                .ToDictionary(e => e.aim_id, e => e.get_name_translated(CurrentLanguageId));
        }
Esempio n. 7
0
        public void add(t_activity po)
        {
            crm1Entities context = new crm1Entities();
            //3.将改对象放入EF容器中,默认会为该对象加一个封装类对象(代理类对象)
            //用户对对象的操作,实际上是对代理类的操作
            //DbEntityEntry保存着实体状态,当对象被加入时,EF默认为该对象设置State的属性为unchanged
            DbEntityEntry <t_activity> entityEntry = context.Entry <t_activity>(po);

            //4.设置对象的标志位Added
            entityEntry.State = EntityState.Added;
            //5.当调用SaveChanges()时,EF会遍历所有的代理类对象,并根据标志生成相应的sql语句
            context.SaveChanges();
            //Console.WriteLine("添加成功");
        }
Esempio n. 8
0
        public ActionResult View(int indicatorId, int siteId)
        {
            using (Entity context = new Entity())
            {
                t_indicator indicator = context.t_indicator.Find(indicatorId);
                if (indicator == null)
                {
                    throw new ArgumentException("Invalid indicatorId: " + indicatorId.ToString());
                }

                t_activity      activity = indicator.aim.activity;
                t_activity_site site     = activity.sites.Where(e => e.site_id == siteId).First();
                if (site == null)
                {
                    throw new ArgumentException(String.Format("Site {0} is not attached to Indicator {1} (Activity {2}).", siteId, indicatorId, activity.activity_id));
                }

                byte languageId = IidCulture.CurrentLanguageId;

                IndicatorSiteObservations model = new IndicatorSiteObservations()
                {
                    ActivityId           = activity.activity_id,
                    ActivityName         = activity.get_name_translated(languageId),
                    IndicatorId          = indicatorId,
                    IndicatorType        = Enumerations.Parse <IndicatorType>(indicator.indicator_type.value),
                    IndicatorTypeFieldId = indicator.indicator_type_fieldid,
                    SiteId                = siteId,
                    IndicatorName         = indicator.get_name_translated(languageId),
                    IndicatorDefinition   = indicator.get_definition_translated(languageId),
                    NumeratorName         = indicator.get_numerator_name_translated(languageId),
                    NumeratorDefinition   = indicator.get_numerator_definition_translated(languageId),
                    DenominatorName       = indicator.get_denominator_name_translated(languageId),
                    DenominatorDefinition = indicator.get_denominator_definition_translated(languageId),
                    DisaggregateByAge     = indicator.disaggregate_by_age,
                    DisaggregateBySex     = indicator.disaggregate_by_sex
                };

                AccessPass = SecurityGuard(CurrentUser, activity.country_id, activity.activity_id, siteId);
                if (AccessPass == BusinessLayer.Identity.UserSecurityAccess.NoAccess)
                {
                    return(RedirectToAction("NoAccess", "Home"));
                }
                ViewBag.AccessRights = AccessPass;

                return(View(model));
            }
        }
Esempio n. 9
0
        public ActivitySiteCollection(int activityId, int?indicatorId)
        {
            using (Entity context = new Entity())
            {
                t_activity activity = context.t_activity.Find(activityId);
                if (activity == null)
                {
                    throw new ArgumentException("Invalid activityId:" + activityId.ToString());
                }

                ActivityId  = activityId;
                IndicatorId = indicatorId;
                Sites       = activity.sites
                              .Where(e => e.activity_id == activityId)
                              .Select(e => new ActivitySite(e))
                              .OrderBy(e => e.SiteName)
                              .ToArray();
            }
        }
Esempio n. 10
0
        public JsonResult Delete(int id)
        {
            Response.ContentType = "application/json; charset=utf-8";

            using (Entity context = new Entity())
            {
                try
                {
                    t_activity activity = context.t_activity.Find(id);
                    context.t_activity.Remove(activity);
                    context.SaveChanges();
                    return(Json(new { success = true }));
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, responseText = "An error occurred: " + ex.ToString() }));
                }
            }
        }
Esempio n. 11
0
        private void SetProperties(t_activity activity, bool loadChildren, bool translate)
        {
            ActivityId                   = activity.activity_id;
            ProjectId                    = activity.project_id;
            CountryId                    = activity.country_id;
            StartDate                    = activity.start_date;
            EndDate                      = activity.end_date;
            PrimaryManagerUserId         = activity.primary_manager_userid;
            PrimaryManagerName           = activity.primary_manager?.full_name;
            FunderFieldId                = activity.funder_fieldid;
            FunderValue                  = activity.funder?.value;
            TechnicalAreaFieldId         = activity.technical_area_fieldid;
            TechnicalAreaValue           = activity.technical_area?.value;
            AdditionalManagerUserIds     = activity.additional_managers.Select(m => m.user_id.ToString()).ToList();
            AdditionalManagerNames       = activity.additional_managers.Select(m => m.full_name).ToList();
            TechnicalAreaSubtypeFieldIds = activity.technical_area_subtypes.Select(tast => tast.fieldid).ToList();
            TechnicalAreaSubtypeValues   = activity.technical_area_subtypes.Select(tast => tast.value).ToList();
            Active = activity.active;

            if (translate)
            {
                Name = activity.get_name_translated(CurrentLanguageId);
                OtherKeyInformation = activity.get_other_key_information_translated(CurrentLanguageId);
            }
            else
            {
                Name = activity.name;
                OtherKeyInformation = activity.other_key_information;
            }

            if (loadChildren)
            {
                Aims            = UserAssignedObjects.GetAims(activity.aims, CurrentUser).Select(a => new Aim(a, loadChildren, translate)).ToList();
                Notes           = activity.notes.Select(n => new Note(n)).ToList();
                IsFavorite      = activity.user_favorites.Select(e => e.user_id).Contains(CurrentUser.Id);
                HasObservations = activity.aims?.SelectMany(a => a.indicators?.SelectMany(i => i.observations))?.Any() ?? false;
            }
        }
Esempio n. 12
0
 public Activity(t_activity activity)
 {
     SetProperties(activity, false, false);
 }
Esempio n. 13
0
        public void test1Test()
        {
            try
            {
                BaseInfo bi = new BaseInfo();
                bi.init();
                SearchService ss = new SearchService();

                SynonymDao     synonymDao  = new SynonymDao();
                WordDao        wordDao     = new WordDao();
                WordSynonymDao wsDao       = new WordSynonymDao();
                ActivityDao    activityDao = new ActivityDao();

                ReadActivity rf = new ReadActivity();
                if (null != ReadActivity.dic)
                {
                    int i = 30000;
                    foreach (Activity obj in ReadActivity.dic.Values)
                    {
                        Debug.WriteLine(obj.ToString());
                        t_synonym t_synonym = new t_synonym()
                        {
                            code = i + "", name = obj.Word, remark = ""
                        };
                        t_word t_word = new t_word()
                        {
                            code = i + "", type = "活动", name = obj.Word, remark = ""
                        };
                        t_word_synonym t_word_synonym = new t_word_synonym()
                        {
                            word_code = i + "", synonym_code = i + ""
                        };
                        //t_brand t_brand = new t_brand { code = i + "", brand = i + "", floor = ss.getWordBySynonym(b.Floor).code, contract = b.BrandCode, house_number = b.UnitNumber, vip_flag = "特约商户".Equals(b.VipFee) ? 1 : 0 };

                        DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();

                        dtFormat.ShortDatePattern = "MM/dd/yyyy";

                        t_activity t_activity = new t_activity {
                            code       = i + "", activity = i + "", floor = String.IsNullOrEmpty(obj.Floor)? "" : ss.getWordBySynonym(obj.Floor).code,
                            basic_info = String.IsNullOrEmpty(obj.BasicInfo) ? "" : ss.getWordBySynonym(obj.BasicInfo).code, remark = obj.Remark,
                            begin      = Convert.ToDateTime(obj.Begin, dtFormat), end = Convert.ToDateTime(obj.End, dtFormat)
                        };

                        synonymDao.add(t_synonym);
                        wordDao.add(t_word);
                        wsDao.add(t_word_synonym);
                        activityDao.add(t_activity);
                        Debug.WriteLine("添加成功");
                        i++;
                    }
                }
                else
                {
                    Debug.WriteLine("dic = null" + " ; path = " + ReadActivity.path);
                }
            }
            catch (DbEntityValidationException ex)
            {
                Debug.WriteLine(ex.ToString());

                StringBuilder errors = new StringBuilder();
                IEnumerable <DbEntityValidationResult> validationResult = ex.EntityValidationErrors;
                foreach (DbEntityValidationResult result in validationResult)
                {
                    ICollection <DbValidationError> validationError = result.ValidationErrors;
                    foreach (DbValidationError err in validationError)
                    {
                        errors.Append(err.PropertyName + ":" + err.ErrorMessage + "\r\n");
                    }
                }
                Debug.WriteLine(errors.ToString());
                //简写
                //var validerr = ex.EntityValidationErrors.First().ValidationErrors.First();
                //Console.WriteLine(validerr.PropertyName + ":" + validerr.ErrorMessage);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
        }
Esempio n. 14
0
        private t_activity SetCoreFields(Activity model)
        {
            using (Entity context = new Entity())
            {
                t_activity activity = null;
                if (model.ActivityId.HasValue)
                {
                    activity = context.t_activity.Find(model.ActivityId.Value);
                    if (activity == null)
                    {
                        throw new ArgumentException("Invalid activityId: " + model.ActivityId.ToString());
                    }
                    activity.updatedby_userid = CurrentUser.Id;
                    activity.updated_date     = DateTime.Now;
                }
                else
                {
                    activity = new t_activity();
                    activity.createdby_userid = CurrentUser.Id;
                    activity.created_date     = DateTime.Now;
                    context.t_activity.Add(activity);
                }

                var language = IidCulture.CurrentLanguage;

                if (language == Language.English || !model.ActivityId.HasValue)
                {
                    activity.name = model.Name;
                    activity.other_key_information = model.OtherKeyInformation;
                }
                activity.project_id             = model.ProjectId;
                activity.country_id             = model.CountryId;
                activity.funder_fieldid         = model.FunderFieldId;
                activity.start_date             = model.StartDate;
                activity.end_date               = model.EndDate;
                activity.primary_manager_userid = model.PrimaryManagerUserId;
                activity.technical_area_fieldid = model.TechnicalAreaFieldId;
                activity.active = model.Active;

                if (model.AdditionalManagerUserIds != null)
                {
                    foreach (string id in model.AdditionalManagerUserIds)
                    {
                        activity.additional_managers.Add(context.t_user.Find(Convert.ToInt32(id)));
                    }
                }

                if (model.TechnicalAreaSubtypeFieldIds != null)
                {
                    foreach (string fieldId in model.TechnicalAreaSubtypeFieldIds)
                    {
                        activity.technical_area_subtypes.Add(context.t_fieldid.Find(fieldId));
                    }
                }

                context.SaveChanges();

                if (language != Language.English)
                {
                    var languageId = IidCulture.CurrentLanguageId;
                    var userId     = CurrentUser.Id;
                    activity.set_name_translated(languageId, model.Name, userId);
                    activity.set_other_key_information_translated(languageId, model.OtherKeyInformation, userId);
                }

                return(activity);
            }
        }
Esempio n. 15
0
 private void SetActivity(t_activity activity)
 {
     ActivityId   = activity.activity_id;
     ActivityName = activity.get_name_translated(CurrentLanguageId);
 }
Esempio n. 16
0
        //判断活动2
        public bool JudgeActivity2(CRMInfo info)
        {
            //查询活动
            try
            {
                t_activity activity = searchService.getActivityByName(info.activityText);
                if (null != activity)
                {
                    StringBuilder sb = new StringBuilder();

                    sb.Append(BaseInfo.wordDic[activity.activity].name);
                    sb.Append("于");
                    sb.Append(activity.begin.Value.ToString("yyyy-MM-dd"));
                    sb.Append("到");
                    sb.Append(activity.end.Value.ToString("yyyy-MM-dd"));
                    sb.Append("在");
                    if (!String.IsNullOrWhiteSpace(activity.floor) || !String.IsNullOrWhiteSpace(activity.basic_info))
                    {
                        if (!String.IsNullOrWhiteSpace(activity.floor))
                        {
                            sb.Append(BaseInfo.wordDic[activity.floor].name);
                        }
                        if (!String.IsNullOrWhiteSpace(activity.basic_info))
                        {
                            sb.Append(BaseInfo.wordDic[activity.basic_info].name);
                        }
                    }
                    else
                    {
                        sb.Append("全馆");
                    }
                    sb.Append("开展。");
                    sb.Append("“");
                    sb.Append(activity.remark);
                    sb.Append("”宣传语。");

                    if (DateTime.Compare(DateTime.Now, activity.begin.Value) < 0)
                    {
                        sb.Append("目前该活动尚未开始!");
                    }
                    else if (DateTime.Compare(DateTime.Now, activity.end.Value) > 0)
                    {
                        sb.Append("目前该活动已经结束咯!");
                    }
                    else
                    {
                        sb.Append("目前该活动正在火热进行中!");
                    }

                    info.replyString = sb.ToString();
                }
                else
                {
                    info.replyString = "对不起,您说的活动" + info.activityText + "正大君没查询到哦。";
                }
            }
            catch (Exception e)
            {
                info.replyString += "我在JudgeActivity2报错啦" + e.ToString();
                return(!String.IsNullOrWhiteSpace(info.replyString));
            }
            return(!String.IsNullOrWhiteSpace(info.replyString));
        }
Esempio n. 17
0
        //判断活动2
        public bool JudgeActivity2(CRMInfo info)
        {
            //查询活动
            try
            {
                t_activity activity = searchService.getActivityByName(info.activityText);
                if (null != activity)
                {
                    StringBuilder sb = new StringBuilder();

                    sb.Append(BaseInfo.wordDic[activity.activity].name);
                    sb.Append("于");
                    sb.Append(activity.begin.Value.ToString("yyyy-MM-dd"));
                    sb.Append("到");
                    sb.Append(activity.end.Value.ToString("yyyy-MM-dd"));
                    sb.Append("在");
                    if (!String.IsNullOrWhiteSpace(activity.floor) || !String.IsNullOrWhiteSpace(activity.basic_info))
                    {
                        if (!String.IsNullOrWhiteSpace(activity.floor))
                        {
                            sb.Append(BaseInfo.wordDic[activity.floor].name);
                        }
                        if (!String.IsNullOrWhiteSpace(activity.basic_info))
                        {
                            sb.Append(BaseInfo.wordDic[activity.basic_info].name);
                        }
                    }
                    else
                    {
                        sb.Append("全馆");
                    }
                    sb.Append("开展。");
                    sb.Append("“");
                    sb.Append(activity.remark);
                    sb.Append("。");
                    //sb.Append("”宣传语。");

                    if (DateTime.Compare(DateTime.Now, activity.begin.Value) < 0)
                    {
                        sb.Append("目前该活动尚未开始!");
                        sb.Append("该活动名额有限,<a href=\"http://www.baidu.com\">快来报名</a>吧!");
                    }
                    else if (DateTime.Compare(DateTime.Now, activity.end.Value) > 0)
                    {
                        sb.Append("目前该活动已经结束咯!");
                    }
                    else
                    {
                        sb.Append("目前该活动正在火热进行中!");
                        if ("新春市集".Equals(BaseInfo.wordDic[activity.activity].name))
                        {
                            sb.Append("该活动名额有限,<a href=\"http://www.baidu.com\">快来报名</a>吧!");
                        }
                        else if ("英雄联盟".Equals(BaseInfo.wordDic[activity.activity].name))
                        {
                            sb.Append("门票火热售卖中,<a href=\"http://www.baidu.com\">快来看看</a>吧!");
                        }
                        else if ("超级乐园".Equals(BaseInfo.wordDic[activity.activity].name))
                        {
                            sb.Append("\u0001超级乐园");
                            sb.Append("\u0001您已报名参加此活动,点击查看活动详情");
                            sb.Append("\u0001").Append(baseUrl).Append("/images/huodong.jpg");
                            sb.Append("\u0001http://www.baidu.com");
                        }
                    }


                    info.replyString = sb.ToString();
                }
                else
                {
                    info.replyString = "对不起,您说的活动" + info.activityText + "正大君没查询到哦。";
                }
            }
            catch (Exception e)
            {
                info.replyString += "我在JudgeActivity2报错啦" + e.ToString();
                return(!String.IsNullOrWhiteSpace(info.replyString));
            }
            return(!String.IsNullOrWhiteSpace(info.replyString));
        }