| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | using Comal.Classes;using InABox.Core;using InABox.Database;namespace PRS.Shared;public class Update_6_39 : DatabaseUpdateScript{    public override VersionNumber Version => new (6, 39);            public override bool Update()    {                            ConvertJobDocumentIssuedDates();                    ConvertProductUnitsOfMeasure();        ConvertQuoteUnitsOfMeasure();                    return true;    }        void ConvertJobDocumentIssuedDates()    {        Logger.Send(LogType.Information, "", "Converting Job Document Issued Dates");        List<JobDocumentSetMileStone> updates = new List<JobDocumentSetMileStone>();        var columns = new Columns<JobDocumentSetMileStone>(x => x.ID).Add(x => x.Submitted).Add(x => x.Status);        columns.Add("Issued");        CoreTable milestones = DbFactory.Provider.Query<JobDocumentSetMileStone>(null, columns);        foreach (var row in milestones.Rows)        {            var milestone = row.ToObject<JobDocumentSetMileStone>();            if (milestone.Status == JobDocumentSetMileStoneStatus.Unknown)                milestone.Status = JobDocumentSetMileStoneStatus.Submitted;            milestone.Submitted = row.Get<DateTime>("Issued");            updates.Add(milestone);        }        DbFactory.Provider.Save(updates);    }        void ConvertProductUnitsOfMeasure()    {        Logger.Send(LogType.Information, "", "Converting Product Units of Measure");        List<ProductDimensionUnit> updates = new List<ProductDimensionUnit>();        var columns = new Columns<ProductDimensionUnit>(x => x.ID).Add(x => x.Description);        CoreTable units = DbFactory.Provider.Query<ProductDimensionUnit>(new Filter<ProductDimensionUnit>(x=>x.Code).IsEqualTo(""), columns);        foreach (var row in units.Rows)        {            var unit = row.ToObject<ProductDimensionUnit>();            unit.Code = unit.Description;            updates.Add(unit);        }        DbFactory.Provider.Save(updates);    }        void ConvertQuoteUnitsOfMeasure()    {        Logger.Send(LogType.Information, "", "Converting Quote Units of Measure");        List<QuoteTakeOffUnit> updates = new List<QuoteTakeOffUnit>();        var columns = new Columns<QuoteTakeOffUnit>(x => x.ID).Add(x => x.Description);        CoreTable units = DbFactory.Provider.Query<QuoteTakeOffUnit>(new Filter<QuoteTakeOffUnit>(x=>x.Code).IsEqualTo(""), columns);        foreach (var row in units.Rows)        {            var unit = row.ToObject<QuoteTakeOffUnit>();            unit.Code = unit.Description;            updates.Add(unit);        }        DbFactory.Provider.Save(updates);    }    }
 |