Example #1
0
            private void CreateActivity()
            {
                PXCache cache = _graph.Caches[typeof(CRActivity)];

                _activity = (CRActivity)cache.CreateCopy(cache.Insert());

                _activity.ClassID = CRActivityClass.Email;
                _activity.Type    = null;

                _activity.Subject = _email.Message.Subject.With(_ => _.ToString()) ?? " ";

                string clearedSubject;

                DecodeTicket(_activity.Subject, out clearedSubject);
                _activity.Subject = clearedSubject;

                _activity.StartDate = _email.Message.Date == DateTime.MinValue ? PXTimeZoneInfo.Now : PXTimeZoneInfo.ConvertTimeFromUtc(_email.Message.Date.ToUniversalTime(), LocaleInfo.GetTimeZone());

                _activity = (CRActivity)cache.CreateCopy(cache.Update(_activity));

                _graph.EnsureCachePersistence(_activity.GetType());

                var cached = _graph.Caches[_activity.GetType()].Locate(_activity);

                _graph.Persist();
                _graph.SelectTimeStamp();
                _activity = (CRActivity)cache.CreateCopy(cached);
            }