コード例 #1
0
ファイル: CustomerManage.cs プロジェクト: windygu/flamingo
        public Customer NewData()
        {
            // 获取新Id(将数据表里的FilmId最大值+1)
            // 使用创建时间先后来获取最后ID
            int      lastId;
            Customer lastData = de.ExecuteStoreQuery <Customer>(@"SELECT * FROM Customer ORDER BY CustomerId*1 DESC LIMIT 1").FirstOrDefault();

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

            int newId = lastId + 1;

            Customer data = new Customer();

            data.CustomerId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;
            // 如果有非String类型的值,则赋予默认值,优化速度

            de.Customer.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #2
0
ファイル: VoucherTypeManage.cs プロジェクト: windygu/flamingo
        public VoucherType NewData()
        {
            // 获取新Id
            int         lastId;
            VoucherType lastData = de.ExecuteStoreQuery <VoucherType>(@"SELECT * FROM VoucherType ORDER BY VoucherTypeId*1 DESC LIMIT 1").FirstOrDefault();

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

            int newId = lastId + 1;

            VoucherType data = new VoucherType();

            data.VoucherTypeId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 如果有非String类型的值,则赋予默认值,优化速度

            de.VoucherType.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #3
0
ファイル: ShowTypeManage.cs プロジェクト: windygu/flamingo
        public ShowType NewData()
        {
            int      lastId;
            ShowType lastData = de.ExecuteStoreQuery <ShowType>(@"SELECT * FROM ShowType ORDER BY ShowTypeId*1 DESC LIMIT 1").FirstOrDefault();

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

            int newId = lastId + 1;

            ShowType data = new ShowType();

            data.ShowTypeId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            de.ShowType.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #4
0
ファイル: TheaterInfoManage.cs プロジェクト: windygu/flamingo
        public void Save()
        {
            // 设置事务参数
            TransactionOptions transactionOption = new TransactionOptions();

            // 设置事务隔离级别
            transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;

            // 设置事务超时时间为60秒
            transactionOption.Timeout = new TimeSpan(0, 60, 0);

            // 写入数据库
            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, transactionOption))
            {
                // 保存到数据库,如果遇到开放式冲突,则以本地数据为准
                try
                {
                    de.SaveChanges();
                }
                catch (OptimisticConcurrencyException)
                {
                    de.Refresh(RefreshMode.ClientWins, de.Film);

                    de.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                ts.Complete();
            }
        }
コード例 #5
0
        public UploadSetting NewData()
        {
            int           lastId;
            UploadSetting lastData = de.ExecuteStoreQuery <UploadSetting>(@"SELECT * FROM UploadSetting ORDER BY UploadId*1 DESC LIMIT 1").FirstOrDefault();
            Theater       theater  = de.Theater.FirstOrDefault();

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

            int newId = lastId + 1;

            UploadSetting data = new UploadSetting();

            data.UploadId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;
            data.TheaterId  = theater.TheaterId;
            data.UploadTime = new TimeSpan(6, 0, 0);
            data.FileFormat = "xml";
            data.IsActive   = false;

            de.UploadSetting.AddObject(data);
            de.SaveChanges();

            return(data);
        }
コード例 #6
0
        public FilmMode NewData()
        {
            // 获取新Id(将数据表里的FilmId最大值+1)
            int      lastId;
            FilmMode lastData = de.ExecuteStoreQuery <FilmMode>(@"SELECT * FROM FilmMode ORDER BY FilmModeId*1 DESC LIMIT 1").FirstOrDefault();

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

            int newId = lastId + 1;

            FilmMode data = new FilmMode();

            data.FilmModeId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 如果有非String类型的值,则赋予默认值,优化速度
            data.FilmModeName = string.Empty;
            de.FilmMode.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #7
0
        public Voucher NewData()
        {
            string year  = DateTime.Now.ToString("yyyy");
            string month = DateTime.Now.ToString("MM");
            string day   = DateTime.Now.ToString("dd");

            VoucherBatch lastBatch = de.ExecuteStoreQuery <VoucherBatch>(string.Format(@"SELECT * FROM VoucherBatch WHERE VoucherBatchId LIKE '{0}{1}{2}%' ORDER BY VoucherBatchId*1 DESC LIMIT 1", year, month, day)).FirstOrDefault();

            if (lastBatch == null)
            {
                throw new Exception("请先添加票券批次!");
            }

            // 获取新Id(将数据表里的FilmId最大值+1)
            // 使用创建时间先后来获取最后ID
            string  lastId;
            Voucher lastData = de.ExecuteStoreQuery <Voucher>(string.Format(@"SELECT * FROM Voucher WHERE VoucherId LIKE '{0}%' ORDER BY VoucherId*1 DESC LIMIT 1", lastBatch.VoucherBatchId)).FirstOrDefault();

            if (lastData != null)
            {
                lastId = lastData.VoucherId.Substring(10, 6);
            }
            else
            {
                lastId = "0";
            }

            string newId;

            // 生成新的Id(这里长度是6位)
            try
            {
                newId = string.Format("{0:D6}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D6}", 1);
            }

            Voucher data = new Voucher();

            data.VoucherId = lastBatch.VoucherBatchId + newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度

            de.Voucher.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #8
0
        public VoucherBatch NewData()
        {
            string year  = DateTime.Now.ToString("yyyy");
            string month = DateTime.Now.ToString("MM");
            string day   = DateTime.Now.ToString("dd");

            // 获取最后ID
            string       lastId;
            VoucherBatch lastData = de.ExecuteStoreQuery <VoucherBatch>(string.Format(@"SELECT * FROM VoucherBatch WHERE VoucherBatchId LIKE '{0}{1}{2}%' ORDER BY VoucherBatchId*1 DESC LIMIT 1", year, month, day)).FirstOrDefault();

            if (lastData != null)
            {
                lastId = lastData.VoucherBatchId.Substring(8, 2);
            }
            else
            {
                lastId = "0";
            }

            string newId;

            // 生成新的Id(这里长度是2位)
            try
            {
                newId = string.Format("{0:D2}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D2}", 1);
            }

            VoucherBatch data = new VoucherBatch();

            data.VoucherBatchId = year + month + day + newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度
            data.PrintStatus = 1;
            data.Quantity    = 0;
            data.UnitPrice   = 0;
            data.TotalPrice  = 0;
            data.ExpireDate  = DateTime.Now;
            data.ReleaseDate = DateTime.Now;

            de.VoucherBatch.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #9
0
ファイル: DebtManage.cs プロジェクト: windygu/flamingo
        public Debt NewData()
        {
            string year  = DateTime.Now.ToString("yyyy");
            string month = DateTime.Now.ToString("MM");
            string day   = DateTime.Now.ToString("dd");

            // 获取最后ID
            string lastId;
            Debt   lastData = de.ExecuteStoreQuery <Debt>(string.Format(@"SELECT * FROM Debt WHERE DebtId LIKE '{0}{1}{2}%' ORDER BY DebtId*1 DESC LIMIT 1", year, month, day)).FirstOrDefault();

            if (lastData != null)
            {
                lastId = lastData.DebtId.Substring(8, 2);
            }
            else
            {
                lastId = "0";
            }

            string newId;

            // 生成新的Id(这里长度是2位)
            try
            {
                newId = string.Format("{0:D2}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D2}", 1);
            }

            Debt data = new Debt();

            data.DebtId = year + month + day + newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度
            data.DebtStatus = false;
            data.BoughtDate = DateTime.Now;
            data.ClearDate  = DateTime.Now;
            de.Debt.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #10
0
ファイル: FilmInfoManage.cs プロジェクト: windygu/flamingo
        public Film NewData()
        {
            // 获取新Id(将数据表里的Id最大值+1)
            string lastId;

            Film lastData = de.ExecuteStoreQuery <Film>(@"SELECT * FROM Film ORDER BY FilmId*1 DESC LIMIT 1").FirstOrDefault();

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

            string newId;

            // 生成新的Id(这里长度是12位)
            try
            {
                newId = string.Format("{0:D12}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D12}", 1);
            }

            Film data = new Film();

            data.FilmId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度
            data.PublishDate = DateTime.Now;
            data.FilmLength  = 0;
            data.Ratio       = 0;
            data.LowestPrice = 0;
            data.HasMode     = false;

            de.Film.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #11
0
ファイル: TimeSettingManage.cs プロジェクト: windygu/flamingo
        public TimeSetting NewData()
        {
            // 使用创建时间先后来获取最后ID
            int         lastId;
            TimeSetting lastData = de.ExecuteStoreQuery <TimeSetting>(@"SELECT * FROM TimeSetting ORDER BY TimeSettingId*1 DESC LIMIT 1").FirstOrDefault();
            Theater     theater  = de.Theater.FirstOrDefault();

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

            int newId = lastId + 1;

            TimeSetting data = new TimeSetting();

            data.TimeSettingId = Convert.ToInt32(newId);

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;
            //
            data.TheaterId = theater.TheaterId;

            data.RefundDeadline     = -1;
            data.TicketingDeadline  = -1;
            data.Timespan           = 0;
            data.BookingReleaseTime = -1;
            data.RepeatDay          = "";
            //

            data.OpenTime  = new TimeSpan(9, 0, 0);
            data.CloseTime = new TimeSpan(8, 59, 59);
            //data.OpenTime = new TimeSpan(9, 0, 0);
            //data.CloseTime = data.Created - data.Updated;

            de.TimeSetting.AddObject(data);
            de.SaveChanges();

            return(data);
        }
コード例 #12
0
        public FilmCategory NewData()
        {
            // 获取新Id(将数据表里的FilmId最大值+1)
            // 使用创建时间先后来获取最后ID
            string lastId;

            FilmCategory lastData = de.ExecuteStoreQuery <FilmCategory>(@"SELECT * FROM FilmCategory ORDER BY FilmCategoryId*1 DESC LIMIT 1").FirstOrDefault();

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

            string newId;

            // 生成新的Id(这里长度是1位)
            try
            {
                newId = string.Format("{0:D1}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D1}", 1);
            }

            FilmCategory data = new FilmCategory();

            data.FilmCategoryId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 如果有非String类型的值,则赋予默认值,优化速度
            data.FilmCategoryName = string.Empty;
            de.FilmCategory.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #13
0
        public FilmArea NewData()
        {
            // 获取新Id(将数据表里的Id最大值+1)
            string lastId;

            FilmArea lastData = de.ExecuteStoreQuery <FilmArea>(@"SELECT * FROM FilmArea ORDER BY FilmAreaId*1 DESC LIMIT 1").FirstOrDefault();

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

            string newId;

            // 生成新的Id(这里长度是3位)
            try
            {
                newId = string.Format("{0:D3}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D3}", 1);
            }

            FilmArea data = new FilmArea();

            data.FilmAreaId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 如果有非String类型的值,则赋予默认值,优化速度

            de.FilmArea.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #14
0
        public DownloadSetting NewData()
        {
            int lastId;

            DownloadSetting lastData = de.ExecuteStoreQuery <DownloadSetting>(@"SELECT * FROM DownloadSetting ORDER BY DownloadId*1 DESC LIMIT 1").FirstOrDefault();
            Theater         threater = de.Theater.FirstOrDefault();

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

            int newId = lastId + 1;

            DownloadSetting data = new DownloadSetting();

            data.DownloadId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度
            data.TheaterId       = threater.TheaterId;
            data.UserName        = string.Empty;
            data.SourceName      = string.Empty;
            data.ProxyPort       = 0;
            data.Port            = 0;
            data.IsProxy         = false;
            data.IsAnonymAllowed = false;
            data.DownloadMethod  = "HTTP";
            de.DownloadSetting.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #15
0
ファイル: FilmHallManage.cs プロジェクト: windygu/flamingo
        public Hall NewData()
        {
            // 使用创建时间先后来获取最后ID
            string lastId;
            Hall   lastData = de.ExecuteStoreQuery <Hall>(@"SELECT * FROM Hall ORDER BY HallId*1 DESC LIMIT 1").FirstOrDefault();

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

            string newId;

            // 生成新的Id(这里长度是2位)
            try
            {
                newId = string.Format("{0:D2}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D2}", 1);
            }

            Hall data = new Hall();

            data.HallId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            de.Hall.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #16
0
        public Discount_Type NewData()
        {
            // 获取最后ID
            int           lastId;
            Discount_Type lastData = de.ExecuteStoreQuery <Discount_Type>(@"SELECT * FROM Discount_Type ORDER BY Discount_TypeId*1 DESC LIMIT 1").FirstOrDefault();

            //Theater theater = de.Theater.FirstOrDefault();

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

            int newId = lastId + 1;

            Discount_Type data = new Discount_Type();

            data.Discount_TypeId = newId;

            //  data.TheaterId = theater.TheaterId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;


            //data.Discount_TypeId = 1;
            //data.DiscountId = 2;

            de.Discount_Type.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #17
0
ファイル: FareSettingManage.cs プロジェクト: windygu/flamingo
        public FareSetting NewData()
        {
            // 获取新Id(将数据表里的Id最大值+1)
            int lastId;

            FareSetting lastData = de.ExecuteStoreQuery <FareSetting>(@"SELECT * FROM FareSetting ORDER BY FareSettingId*1 DESC LIMIT 1").FirstOrDefault();

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

            int newId = lastId + 1;

            FareSetting data = new FareSetting();

            data.FareSettingId = newId;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            data.SinglePrice  = 0;
            data.DoublePrice  = 0;
            data.BoxPrice     = 0;
            data.StudentPrice = 0;
            data.GroupPrice   = 0;
            data.MemberPrice  = 0;

            de.FareSetting.AddObject(data);
            de.SaveChanges();

            return(data);
        }
コード例 #18
0
ファイル: TaxManage.cs プロジェクト: windygu/flamingo
        public Tax NewData()
        {
            int    lastId;
            string threaId;
            Tax    lastData = de.ExecuteStoreQuery <Tax>(@"SELECT * FROM Tax ORDER BY TaxId*1 DESC LIMIT 1").FirstOrDefault();

            threaId = de.Theater.Select(p => p.TheaterId).FirstOrDefault();

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

            int newId = lastId + 1;

            Tax data = new Tax();

            data.TaxId = newId;

            // 更新数据基础值
            data.TheaterId = threaId;
            data.TaxRate   = 0;

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

            de.Tax.AddObject(data);

            de.SaveChanges();

            return(data);
        }
コード例 #19
0
ファイル: BlockPriceSet.cs プロジェクト: windygu/flamingo
        /// <summary>
        /// 保存区域票价,并更新ShowPlan的价格等级
        /// </summary>
        /// <param name="blocklist"></param>
        /// <returns></returns>
        public bool SetBlockPrice(List <BlockPrice> blocklist)
        {
            if (this.showPlamId == null)
            {
                return(false);
            }

            var tmp = de.ShowPlan.Where(p => p.ShowPlanId == this.showPlamId).FirstOrDefault();

            var film = de.Film.Where(p => p.FilmId == tmp.FilmId).FirstOrDefault();

            var tmplist = de.BlockPrice.Where(p => p.ShowPlanId == this.showPlamId).ToList();

            if (tmp == null)
            {
                return(false);
            }

            int MaxId = GetMaxBlockId();

            try
            {
                while (blocklist.Remove(blocklist.Where(p => p.BlockId == null || p.BlockId == string.Empty).FirstOrDefault()) == true)
                {
                    ;
                }

                foreach (var obj in blocklist)
                {
                    if (film.LowestPrice > obj.SinglePrice ||
                        film.LowestPrice > obj.DoublePrice ||
                        film.LowestPrice > obj.StudentPrice ||
                        film.LowestPrice > obj.GroupPrice ||
                        film.LowestPrice > obj.MemberPrice ||
                        film.LowestPrice > obj.BoxPrice)
                    {
                        throw new NotImplementedException("最低票价不能小于影片的最低价!");
                    }
                }

                foreach (var list in blocklist)
                {
                    if (list.BlockPriceId == string.Empty)
                    {
                        continue;
                    }
                    list.BlockPriceId = MaxId.ToString();
                    list.ShowPlanId   = this.showPlamId;
                    list.Created      = DateTime.Now;
                    list.ActiveFlag   = true;
                    MaxId++;
                    de.BlockPrice.AddObject(list);

                    de.Block.Where(p => p.BlockId == list.BlockId).FirstOrDefault().HasBlockPrice = true;
                }


                //删除已删除的区域票价
                foreach (var list in tmplist)
                {
                    var obj = de.BlockPrice.Where(p => p.BlockId == list.BlockId).FirstOrDefault();
                    if (obj == null)
                    {
                        de.Block.Where(p => p.BlockId == list.BlockId).FirstOrDefault().HasBlockPrice = false;
                    }

                    if (blocklist.Where(p => p.BlockPriceId == list.BlockPriceId).FirstOrDefault() == null)
                    {
                        de.BlockPrice.DeleteObject(list);
                    }
                }

                tmp.FareSettingId = GetBlockfareSettingPriceId();
                de.SaveChanges();
                List <BlockPrice> newlist = de.BlockPrice.Where(p => p.ShowPlanId == this.showPlamId).ToList();
                this.blockPriceList = newlist;
                return(true);
            }
            catch (Exception e)
            {
                throw new NotImplementedException(e.Message);
            }
        }
コード例 #20
0
ファイル: FilmSet.cs プロジェクト: windygu/flamingo
        /// <summary>
        /// 获取影片信息
        /// </summary>
        /// <returns></returns>
        public List <FilmAndFilmMode> GetFilmAndFilmModeList()
        {
            List <FilmAndFilmMode> tmpDelList   = new List <FilmAndFilmMode>();
            List <FilmAndFilmMode> filmModeList = new List <FilmAndFilmMode>();
            var tmp = from f in de.Film
                      join m in de.Film_FilmMode on f.FilmId equals m.FilmId
                      into newffm
                      from ffm in newffm.DefaultIfEmpty()
                      join o in de.FilmMode on(int) ffm.FilmModeId equals(int) o.FilmModeId
                      into newfm
                      from fm in newfm.DefaultIfEmpty()
                      select new FilmAndFilmMode
            {
                FilmId      = f.FilmId,
                FilmCode    = f.FilmCode,
                FilmName    = f.FilmName,
                PublishDate = (DateTime)f.PublishDate,
                Publisher   = f.Publisher,
                Producer    = f.Producer,
                Director    = f.Director,
                Cast        = f.Cast,
                Brief       = f.Brief,
                //  Poster = f.Poster,
                StartDate      = (DateTime)f.StartDate,
                EndDate        = (DateTime)f.EndDate,
                FilmLength     = (int)f.FilmLength,
                Rent           = (float)f.Rent,
                Ratio          = (float)f.Ratio,
                LowestPrice    = (float)f.LowestPrice,
                FilmAreaId     = f.FilmAreaId,
                FilmCategoryId = f.FilmCategoryId,
                HasMode        = (bool)f.HasMode,
                Created        = f.Created,
                Updated        = f.Updated,
                ActiveFlag     = f.ActiveFlag,
                ColorCode      = f.BorderColour,

                Film_FilmModeId        = ffm.Film_FilmModeId,
                Film_FilmModeColorCode = ffm.BorderColour,

                FilmModeId   = fm.FilmModeId,
                FilmModeName = fm.FilmModeName,
            };

            filmModeList.AddRange(tmp);
            string oldFilmId = "";

            foreach (var list in filmModeList)
            {
                if (list.HasMode == true && list.Film_FilmModeId != null && list.FilmModeId != null)
                {
                    list.FilmId   += ";" + list.Film_FilmModeId;
                    list.FilmName += "(" + list.FilmModeName + ")";
                }
                if (list.HasMode == false && list.FilmId == oldFilmId)
                {
                    tmpDelList.Add(list);
                }
                oldFilmId = list.FilmId;
            }
            if (tmpDelList.Count > 0)
            {
                foreach (var del in tmpDelList)
                {
                    filmModeList.Remove(del);
                }
            }
            this.filmAndFilmModeList = filmModeList;
            this.filmAndFilmModeList = CheckColor(filmModeList);
            de.SaveChanges();
            return(this.filmAndFilmModeList);
        }
コード例 #21
0
        /// <summary>
        /// 获取影片信息
        /// </summary>
        /// <returns></returns>
        public List <FilmAndFilmMode> GetFilmAndFilmModeList()
        {
            List <FilmAndFilmMode> tmpDelList   = new List <FilmAndFilmMode>();
            List <FilmAndFilmMode> filmModeList = new List <FilmAndFilmMode>();
            var tmp = from f in de.Film
                      join m in de.Film_FilmMode on f.FilmId equals m.FilmId
                      into newffm
                      from ffm in newffm.DefaultIfEmpty()
                      join o in de.FilmMode on(int) ffm.FilmModeId equals(int) o.FilmModeId
                      into newfm
                      from fm in newfm.DefaultIfEmpty()
                          where (f.StartDate <= this.dataMager.DailyShowPlan.DailyPlan.PlanDate && f.EndDate >= this.dataMager.DailyShowPlan.DailyPlan.PlanDate)
                      select new FilmAndFilmMode
            {
                FilmId      = f.FilmId,
                FilmCode    = f.FilmCode,
                FilmName    = f.FilmName,
                PublishDate = (DateTime)f.PublishDate,
                Publisher   = f.Publisher,
                Producer    = f.Producer,
                Director    = f.Director,
                Cast        = f.Cast,
                Brief       = f.Brief,
                //   Poster = f.Poster,
                StartDate      = (DateTime)f.StartDate,
                EndDate        = (DateTime)f.EndDate,
                FilmLength     = (int)f.FilmLength,
                Rent           = (float)f.Rent,
                Ratio          = (float)f.Ratio,
                LowestPrice    = (float)f.LowestPrice,
                FilmAreaId     = f.FilmAreaId,
                FilmCategoryId = f.FilmCategoryId,
                HasMode        = (bool)f.HasMode,
                Created        = f.Created,
                Updated        = f.Updated,
                ActiveFlag     = f.ActiveFlag,
                ColorCode      = f.BorderColour,

                Film_FilmModeId        = ffm.Film_FilmModeId,
                Film_FilmModeColorCode = ffm.BorderColour,

                FilmModeId   = fm.FilmModeId,
                FilmModeName = fm.FilmModeName,
            };

            filmModeList.AddRange(tmp);
            string oldFilmId = "";

            var tmplist = filmModeList.Where(p => p.HasMode == true && p.FilmModeId != null).OrderBy(p => p.FilmId).ToList();

            foreach (var obj in tmplist)
            {
                if (obj.FilmId == oldFilmId ||
                    filmModeList.Where(p => p.FilmId == obj.FilmId && p.HasMode == false).FirstOrDefault() != null)
                {
                    continue;
                }

                FilmAndFilmMode tmpobj = new FilmAndFilmMode();
                oldFilmId          = obj.FilmId;
                tmpobj.FilmId      = obj.FilmId;
                tmpobj.FilmCode    = obj.FilmCode;
                tmpobj.FilmName    = obj.FilmName;
                tmpobj.PublishDate = obj.PublishDate;
                tmpobj.Publisher   = obj.Publisher;
                tmpobj.Producer    = obj.Producer;
                tmpobj.Director    = obj.Director;
                tmpobj.Cast        = obj.Cast;
                tmpobj.Brief       = obj.Brief;
                //  Poster =  tmoobj..Poster;
                tmpobj.StartDate      = obj.StartDate;
                tmpobj.EndDate        = obj.EndDate;
                tmpobj.FilmLength     = obj.FilmLength;
                tmpobj.Rent           = obj.Rent;
                tmpobj.Ratio          = obj.Ratio;
                tmpobj.LowestPrice    = obj.LowestPrice;
                tmpobj.FilmAreaId     = obj.FilmAreaId;
                tmpobj.FilmCategoryId = obj.FilmCategoryId;
                tmpobj.HasMode        = false;
                tmpobj.Created        = obj.Created;
                tmpobj.Updated        = obj.Updated;
                tmpobj.ActiveFlag     = obj.ActiveFlag;
                tmpobj.ColorCode      = obj.Film_FilmModeColorCode;

                tmpobj.Film_FilmModeId        = null;
                tmpobj.Film_FilmModeColorCode = string.Empty;

                tmpobj.FilmModeId   = null;
                tmpobj.FilmModeName = string.Empty;

                filmModeList.Add(tmpobj);
            }
            foreach (var list in filmModeList)
            {
                if (list.HasMode == true && list.Film_FilmModeId != null && list.FilmModeId != null)
                {
                    list.FilmId   += ";" + list.Film_FilmModeId;
                    list.FilmName += "(" + list.FilmModeName + ")";
                }
                if (list.HasMode == false && list.FilmId == oldFilmId)
                {
                    tmpDelList.Add(list);
                    oldFilmId = list.FilmId;
                }
            }
            if (tmpDelList.Count > 0)
            {
                foreach (var del in tmpDelList)
                {
                    filmModeList.Remove(del);
                }
            }
            this.filmAndFilmModeList = filmModeList;
            this.filmAndFilmModeList = CheckColor(filmModeList);
            de.SaveChanges();
            return(this.filmAndFilmModeList);
        }
コード例 #22
0
        public void Import()
        {
            List <FilmDownloadInfo> importList = this.downloadList.Where(p => p.Check == true).ToList();

            List <Film>         filmList         = de.Film.ToList();
            List <FilmCategory> filmCategoryList = de.FilmCategory.ToList();
            List <FilmArea>     filmAreaList     = de.FilmArea.ToList();

            foreach (FilmDownloadInfo filmDown in importList)
            {
                Film film = filmList.Where(p => p.FilmCode.Trim() == filmDown.ID).FirstOrDefault();

                if (film == null)
                {
                    film = new Film();

                    // 生成新的Id(这里长度是12位)
                    // 2011.12.30, Jiang, 生成规则:影片编号+年份
                    film.FilmId = filmDown.ID + year;

                    de.Film.AddObject(film);

                    try
                    {
                        film.FilmCode = filmDown.ID;
                    }
                    catch { }

                    try
                    {
                        film.FilmName = filmDown.Name;
                    }
                    catch { }

                    try
                    {
                        film.FilmAreaId = filmDown.ID.Substring(0, 3);
                    }
                    catch { }

                    if (filmAreaList.Where(p => p.FilmAreaId == film.FilmAreaId).FirstOrDefault() == null)
                    {
                        throw new Exception(string.Format("导入影片 \"{0}:{1}\" 失败,原因为:影片产地 \"{2}\" 不存在!", film.FilmId, film.FilmName, film.FilmAreaId));
                    }

                    try
                    {
                        film.FilmCategoryId = filmDown.ID.Substring(3, 1);
                    }
                    catch { }

                    if (filmCategoryList.Where(p => p.FilmCategoryId == film.FilmCategoryId).FirstOrDefault() == null)
                    {
                        throw new Exception(string.Format("导入影片 \"{0}:{1}\" 失败,原因为:影片分类 \"{2}\" 不存在!", film.FilmId, film.FilmName, film.FilmCategoryId));
                    }

                    // 添加默认值
                    film.HasMode    = false;
                    film.FilmLength = 0;

                    //2011.12.30, Jiang, 这里现在不需要赋值,赋上空值,优化速度
                    film.Publisher = string.Empty;
                    film.Producer  = string.Empty;
                    film.Director  = string.Empty;
                    film.Cast      = string.Empty;
                    film.Brief     = string.Empty;

                    try
                    {
                        if (string.IsNullOrWhiteSpace(filmDown.PublishDate) != true)
                        {
                            film.PublishDate = Convert.ToDateTime(filmDown.PublishDate);
                        }
                    }
                    catch { }
                }
            }

            try
            {
                de.SaveChanges();
            }
            catch (OptimisticConcurrencyException)
            {
                de.Refresh(RefreshMode.ClientWins, de.Film);

                de.SaveChanges();
            }
        }
コード例 #23
0
        public DownloadSetting NewData()
        {
            int lastId;

            DownloadSetting lastData = de.DownloadSetting.OrderByDescending(p => p.Created).FirstOrDefault();
            Theater         threater = de.Theater.FirstOrDefault();

            // 不能两条记录的创建时间一样,避免主键重复
            if (lastData != null && lastData.Created == DateTime.Now)
            {
                throw new Exception();
            }

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

            string newId;

            // 生成新的Id(这里长度是12位)
            try
            {
                newId = string.Format("{0:D12}", Convert.ToInt64(lastId) + 1);
            }
            catch
            {
                newId = string.Format("{0:D12}", 1);
            }

            DownloadSetting data = new DownloadSetting();

            data.DownloadId = Convert.ToInt32(newId);
            //2011.12.24 LIN 判断是否存在id这一条数据
            int id = data.DownloadId;

            while (IsCreated(id) != null)
            {
                id += 1;
                IsCreated(id);
            }
            data.DownloadId = id;

            // 更新数据基础值
            data.Created    = DateTime.Now;
            data.Updated    = data.Created;
            data.ActiveFlag = true;

            // 更新非String类型的值,优化速度
            data.TheaterId       = threater.TheaterId;
            data.ProxyPort       = 0;
            data.Port            = 0;
            data.IsProxy         = false;
            data.IsAnonymAllowed = false;

            de.DownloadSetting.AddObject(data);

            de.SaveChanges();

            return(data);
        }