Example #1
0
        /// <summary>
        /// 更新关联表:Film_FIlmMode
        /// </summary>
        private void UpdateFilm_FIlmMode()
        {
            List <Film> filmList = de.Film.Where(p => p.HasMode == true).ToList();

            foreach (Film film in filmList)
            {
                Film_FilmMode mode = de.Film_FilmMode.Where(p => p.FilmId == film.FilmId).FirstOrDefault();

                if (mode == null)
                {
                    Film_FilmMode lastData = de.Film_FilmMode.OrderByDescending(p => p.Film_FilmModeId).FirstOrDefault();

                    int lastId;

                    if (lastData != null)
                    {
                        lastId = lastData.Film_FilmModeId;
                    }
                    else
                    {
                        lastId = 0;
                    }

                    // 生成原声的Film_FilmMode
                    mode = new Film_FilmMode();
                    mode.Film_FilmModeId = lastId + 1;
                    mode.FilmId          = film.FilmId;
                    mode.FilmModeId      = 1;
                    mode.Film            = film;
                    mode.Created         = DateTime.Now;
                    mode.Updated         = mode.Created;
                    mode.ActiveFlag      = true;

                    de.Film_FilmMode.AddObject(mode);

                    lastId += 1;

                    // 生成中文的Film_FilmMode
                    mode = new Film_FilmMode();
                    mode.Film_FilmModeId = lastId + 1;
                    mode.FilmId          = film.FilmId;
                    mode.FilmModeId      = 2;

                    mode.Created    = DateTime.Now;
                    mode.Updated    = mode.Created;
                    mode.ActiveFlag = true;

                    de.Film_FilmMode.AddObject(mode);
                }
            }

            de.SaveChanges();
        }
Example #2
0
        private void cbFilmName_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[] Id;
            try
            {
                //取消下拉框以外控件的绑定
                UnBindData();

                //获取下拉框选择的值
                string FilmAndModeid = cbFilmName.SelectedValue.ToString();
                if (FilmAndModeid.Contains(";") == true)
                {
                    hashMode      = true;
                    Id            = FilmAndModeid.Split(';');
                    film          = filmSet.GetFilm(Id[0]);
                    film_FilmMode = filmSet.GetFilm_FilmMode(Id[0], Convert.ToInt32(Id[1]));
                    try
                    {
                        string[] Array = film_FilmMode.BorderColour.Split(';');
                        Color    color = Color.FromArgb(Convert.ToInt32(Array[0]), Convert.ToInt32(Array[1]), Convert.ToInt32(Array[2]), Convert.ToInt32(Array[3]));
                        lblColor.BackColor = color;
                    }
                    catch { lblColor.BackColor = Color.White; }
                }
                else
                {
                    //没有放映模式的
                    film     = filmSet.GetFilm(FilmAndModeid);
                    hashMode = false;
                    try
                    {
                        string[] Array = film.BorderColour.Split(';');
                        Color    color = Color.FromArgb(Convert.ToInt32(Array[0]), Convert.ToInt32(Array[1]), Convert.ToInt32(Array[2]), Convert.ToInt32(Array[3]));
                        lblColor.BackColor = color;
                    }
                    catch { lblColor.BackColor = Color.White; }
                }

                BindData();
                txtRatio.Text = film.Ratio * 100 + "%";
            }
            catch { }
        }
Example #3
0
        public void SaveMode(string filmId, string mode)
        {
            if (filmId == string.Empty)
            {
                return;
            }

            //放映模式下拉框所选择的模式内容
            Array Array = mode.Replace(" ", "").Split(',');

            foreach (string str in Array)
            {
                if (str == string.Empty)
                {
                    continue;
                }
                //查找对应的模式记录
                FilmMode filmMode = de.FilmMode.Where(p => p.FilmModeName == str).FirstOrDefault();

                if (filmMode != null)
                {
                    //查找影片的模式关系记录
                    Film_FilmMode film_FilmMode = de.Film_FilmMode.Where(p => p.FilmId == filmId && p.FilmModeId == filmMode.FilmModeId).FirstOrDefault();

                    //如果不存在,则进行新增操作
                    if (film_FilmMode == null)
                    {
                        if (tmpList.Where(p => p.FilmId == filmId && p.FilmModeId == filmMode.FilmModeId).FirstOrDefault() == null)
                        {
                            film_FilmMode                 = new Film_FilmMode();
                            film_FilmMode.FilmModeId      = filmMode.FilmModeId;
                            film_FilmMode.FilmId          = filmId;
                            film_FilmMode.Created         = DateTime.Now;
                            film_FilmMode.Updated         = DateTime.Now;
                            film_FilmMode.ActiveFlag      = true;
                            film_FilmMode.Film_FilmModeId = MaxId();
                            //  de.Film_FilmMode.AddObject(film_FilmMode);
                            tmpList.Add(film_FilmMode);
                        }
                    }
                }
            }

            //找出该影片的所有模式关系记录
            var list = de.Film_FilmMode.Where(p => p.FilmId == filmId).ToList();

            list.AddRange(tmpList);

            //所有的放映模式
            var filmModeList = de.FilmMode.ToList();

            foreach (var tmp in list)
            {
                //是否删除标志
                bool del = true;

                //放映模式
                var obj = filmModeList.Find(p => p.FilmModeId == tmp.FilmModeId);
                if (obj != null)
                {
                    foreach (string str in Array)
                    {
                        if (obj.FilmModeName == str)
                        {
                            del = false;
                            break;
                        }
                    }

                    if (del == true)
                    {
                        var deltmp = de.Film_FilmMode.Where(p => p.Film_FilmModeId == tmp.Film_FilmModeId).FirstOrDefault();
                        if (deltmp != null)
                        {
                            if (delListCheck.Where(p => p.FilmId == deltmp.FilmId).FirstOrDefault() == null)
                            {
                                delListCheck.Add(de.Film.Where(p => p.FilmId == deltmp.FilmId).FirstOrDefault());
                            }

                            de.Film_FilmMode.DeleteObject(deltmp);
                        }
                    }
                }
            }
        }
Example #4
0
        /// <summary>
        /// 批量生成放映计划信息
        /// </summary>
        /// <param name="hallId"></param>
        /// <param name="filmId"></param>
        /// <param name="StartTime"></param>
        /// <param name="timeSpan"></param>
        /// <param name="showPlanNumber"></param>
        /// <returns></returns>
        public bool BuildShowPlan(string hallId, string filmId, DateTime StartTime, int timeSpan, int showPlanNumber)
        {
            bool IsHashMode = false;

            if (showPlanNumber < 1)
            {
                throw new NotImplementedException("安排场次不能为0");
            }

            //清空缓存中的场次计划
            showPlanList.Clear();

            Film_FilmMode film_FilmMode = new Film_FilmMode();

            string[] Id;
            int?     film_FilmModeId = null;

            if (filmId.Contains(";") == true)
            {
                // 有 ";"号好的,则说明此条数据有放映模式的
                Id = filmId.Split(';');

                filmId = Id[0];

                try
                {
                    film_FilmModeId = Convert.ToInt32(Id[1]);

                    //获取放映模式数据
                    film_FilmMode = GetFilm_FilmMode((int)film_FilmModeId);

                    IsHashMode = true;
                }
                catch { return(false); }
            }
            //获取影片信息
            Film tmpFilm = GetFilm(filmId);

            if (tmpFilm == null)
            {
                return(false);
            }
            //如果日计划的开始时间的小时大于或等于日计划的结束时间的小时数,则说明此日计划是跨天的。并且ShowPlan的开始时间小于日计划的开始时间的小时,则是第二天的

            //因为选择的时候没有更改选择时间的日期。所以要从新构造以当前日计划一致的时间
            if ((dataMager.DailyShowPlan.DailyPlan.EndTime.Value <= dataMager.DailyShowPlan.DailyPlan.StartTime.Value) && StartTime.Hour < dataMager.DailyShowPlan.DailyPlan.StartTime.Value.Hours)
            {
                StartTime = new DateTime(dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Year, dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Month, dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Day + 1, StartTime.Hour, StartTime.Minute, 0);
            }
            else
            {
                StartTime = new DateTime(dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Year, dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Month, dataMager.DailyShowPlan.DailyPlan.PlanDate.Value.Day, StartTime.Hour, StartTime.Minute, 0);
            }


            while (showPlanNumber > 0)
            {
                showPlanNumber--;

                ShowPlan newData = new ShowPlan();

                if (IsHashMode == true && tmpFilm.HasMode == true && film_FilmMode.Film_FilmModeId.ToString().Trim() != string.Empty)
                {
                    //如果影片信息的放映模式为真且放映模式的编号不为空

                    //设置放映计划名称 影片名称+放映模式名称
                    newData.ShowPlanName = tmpFilm.FilmName + "(" + film_FilmMode.FilmMode.FilmModeName + ")";

                    //设置放映模式编号
                    newData.Film_FilmModeId = film_FilmModeId;
                }
                else
                {
                    newData.ShowPlanName = tmpFilm.FilmName;
                }

                newData.Film = dataMager.GetFilm(tmpFilm.FilmId);

                newData.Position  = 0;
                newData.StartTime = StartTime;
                newData.EndTime   = newData.StartTime.Value.AddMinutes((int)tmpFilm.FilmLength);
                newData.HallId    = hallId;

                //设置下一场的开始时间
                StartTime = newData.EndTime.Value.AddMinutes((int)timeSpan);

                newData.FilmLength = tmpFilm.FilmLength;
                newData.DailyPlan  = dataMager.DailyShowPlan.DailyPlan;
                newData.Timespan   = timeSpan;
                newData.Ratio      = tmpFilm.Ratio;
                //    newData.DiscountId = 0;
                newData.IsDiscounted  = false;
                newData.FareSettingId = 1;

                var tmp = dataMager.GetTheaterPrice();
                if (tmp != null)
                {
                    newData.SinglePrice  = tmp.SinglePrice;
                    newData.DoublePrice  = tmp.DoublePrice;
                    newData.StudentPrice = tmp.StudentPrice;
                    newData.GroupPrice   = tmp.GroupPrice;
                    newData.MemberPrice  = tmp.MemberPrice;
                    newData.BoxPrice     = tmp.BoxPrice;
                }
                else
                {
                    newData.SinglePrice  = 0;
                    newData.DoublePrice  = 0;
                    newData.StudentPrice = 0;
                    newData.GroupPrice   = 0;
                    newData.MemberPrice  = 0;
                    newData.BoxPrice     = 0;
                }

                newData.ShowStatus        = 0;
                newData.ShowTypeId        = 1;
                newData.IsCheckingNumber  = true;
                newData.IsTicketChecking  = true;
                newData.IsOnlineTicketing = true;
                newData.IsApproved        = false;
                newData.IsSalable         = false;
                newData.IsLocked          = false;
                newData.ActiveFlag        = true;
                newData.Created           = DateTime.Now;
                newData.Updated           = DateTime.Now;

                //设置最低价格
                newData.LowestPrice = dataMager.GetFilm(tmpFilm.FilmId).LowestPrice;

                showPlanList.Add(newData);
            }
            try
            {
                if (dataMager.CheckShowPlan(this.showPlanList) == true)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception EX)
            {
                throw new NotImplementedException(EX.Message);
            }
        }