コード例 #1
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
        public List<RecCalendarWorkday> LoadWorkDays(RecCalendar record)
        {
            ImpactQuery query = new ImpactQuery()
            {
                Select =
				{
                   ImpCalendarWorkday.Factory,
                   ImpCalendarWorkday.Project , 
                   ImpCalendarWorkday.Calendar, 
                   ImpCalendarWorkday.Weekday , 
                   ImpCalendarWorkday.DayType , 
                   ImpCalendarWorkday.ChangedBy , 
                   ImpCalendarWorkday.ChangedDate 

				},
                From = { ImpCalendarWorkday.As("T1") },
                Where = { 
                    ImpCalendarWorkday.Factory.Equal(record.Factory), 
                    ImpCalendarWorkday.Project.Equal(record.Project), 
                    ImpCalendarWorkday.Calendar.Equal(record.Name) 
                }
            };

            string statement = query.ToString();

            List<RecCalendarWorkday> result;

            using (ImpactDatabase database = new ImpactDatabase())
            {
                result = database.GetAll(statement, WorkDayParse);
            }
            return result;
        }
コード例 #2
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
        /// <summary>
        /// Load all records of the same factory and project as the supplied record.
        /// </summary>
        /// <param name="record">A record with factory and project set.</param>
        /// <returns>A list of all mathcing records.</returns>
        public List<RecCalendar> LoadCalendar(RecCalendar record)
        {
            ImpactQuery query = new ImpactQuery()
            {
                Select =
				{
					ImpCalendar.Factory,
					ImpCalendar.Project,
					ImpCalendar.Name,
					ImpCalendar.Description,
					ImpCalendar.CreatedBy,
					ImpCalendar.CreatedDate,
					ImpCalendar.ChangedBy,
					ImpCalendar.ChangedDate,

				},
                From = { ImpCalendar.As("T1") },
                Where = { ImpCalendar.Factory.Equal(record.Factory), ImpCalendar.Project.Equal(record.Factory) }
            };

            string statement = query.ToString();

            List<RecCalendar> result;

            using (ImpactDatabase database = new ImpactDatabase())
            {
                result = database.GetAll( statement, ParseCalendar );
            }

            if (null != result)
            {
                foreach (RecCalendar recCalendar in result)
                {
                    recCalendar.WorkDays = LoadWorkDays(recCalendar );
                    recCalendar.InvalidDays = LoadInvalidDays(recCalendar);

                }
            }
            return result;
        }
コード例 #3
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
        /// <summary>
        /// Update the specified record in the database.
        /// </summary>
        /// <param name="record">The record to update.</param>
        /// <returns></returns>
        public int UpdateCalendar(RecCalendar record)
        {

            var update = new ImpactUpdate(ImpCalendar.Instance)
            {
                Columns = 
				{
					{ ImpCalendar.Description, record.Description },
					{ ImpCalendar.ChangedBy, record.ChangedBy },
					{ ImpCalendar.ChangedDate, record.ChangedDate },
				},
                Where = 
				{
					{ ImpCalendar.Factory.Equal( record.Factory ) },
					{ ImpCalendar.Project.Equal( record.Factory ) },// Factory level!
                    { ImpCalendar.Name.Equal( record.Name ) },
				},
            };

            string statement = update.ToString();

            int result;

            using (ImpactDatabase database = new ImpactDatabase())
            {
                result = database.ExecuteNonQuery(statement);
            }

            return result;
        }
コード例 #4
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
        /// <summary>
        /// Delete the specified record from the database.
        /// </summary>
        /// <param name="record">The record to delete from the database.</param>
        /// <returns>The number of affected records.</returns>
        public int DeleteCalendar(RecCalendar record)
        {
            var delete = new ImpactDelete(ImpCalendar.Instance)
            {
                Where = 
				{
					{ ImpCalendar.Factory.Equal( record.Factory )},
					{ ImpCalendar.Project.Equal( record.Project )},
                    { ImpCalendar.Name.Equal( record.Name )},
				}
            };

            string statement = delete.ToString();

            int result;

            using (ImpactDatabase database = new ImpactDatabase())
            {
                result = database.ExecuteNonQuery(statement);
            }

            return result;
        }
コード例 #5
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
 /// <summary>
 /// Parses one row in <see cref="System.Data.Common.DbDataReader"/> into
 /// a new instance of <see cref="StruSoft.Impact.V120.Common.Records.RecCalendar"/>.
 /// </summary>
 /// <param name="dataReader">The data reader.</param>
 /// <returns>A new instance of <see cref="StruSoft.Impact.V120.Common.Records.RecCalendar"/>.</returns>
 public static RecCalendar ParseCalendar(DbDataReader dataReader)
 {
     var record = new RecCalendar();
     record.Factory = DataConverter.Cast<string>(dataReader[0]);
     record.Project = DataConverter.Cast<string>(dataReader[1]);
     record.Name = DataConverter.Cast<string>(dataReader[2]);
     record.Description = DataConverter.Cast<string>(dataReader[3]);
     record.CreatedBy = DataConverter.Cast<string>(dataReader[4]);
     record.CreatedDate = DataConverter.Cast<System.DateTime?>(dataReader[5]);
     record.ChangedBy = DataConverter.Cast<string>(dataReader[6]);
     record.ChangedDate = DataConverter.Cast<System.DateTime?>(dataReader[7]);
     return record;
 }
コード例 #6
0
ファイル: Calendar.svc.cs プロジェクト: FabioOstlind/TestRepo
        /// <summary>
        /// Insert the specified record into the database.
        /// </summary>
        /// <param name="record">The record to insert into the database.</param>
        /// <returns>The number of affected records.</returns>
        public int InsertCalendar(RecCalendar record)
        {
            var insert = new ImpactInsert(ImpCalendar.Instance)
            {
                Columns = 
				{
					{ ImpCalendar.Factory, record.Factory },
					{ ImpCalendar.Project, record.Factory }, // Factory level!
					{ ImpCalendar.Name, record.Name },
					{ ImpCalendar.Description, record.Description },
					{ ImpCalendar.CreatedBy, record.CreatedBy },
					{ ImpCalendar.CreatedDate, record.CreatedDate },
				}
            };

            string statement = insert.ToString();

            int result;

            using (ImpactDatabase database = new ImpactDatabase())
            {
                result = database.ExecuteNonQuery(statement);
            }

            return result;
        }