Esempio n. 1
0
        /// <summary>
        /// Добавляет сущность в БД.
        /// </summary>
        /// <param name="entity"></param>
        public void Insert(object entity)
        {
            var type = EntityMapper.EntityOf(entity);

            if (uc.CanCreate(type))
            {
                try
                {
                    InsertToDb(entity);
                }
                catch (Exception e)
                {
                    var eventParams = new KeyValuePair <string, object>[]
                    {
                        new KeyValuePair <string, object>(Messenger.ErrorKey, e.Message)
                    };
                    this.Send((int)EventId.ErrorOccured, eventParams);
                }
            }
            else
            {
                Trace.TraceWarning("{0} try to insert {1}", uc.CurrentUserName, entity);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Создает сущность.
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public object Create(Entity type)
        {
            var T      = EntityMapper.TypeOf(type);
            var entity = Activator.CreateInstance(T);

            switch (type)
            {
            //case Entity.Settlement:
            //    break;
            case Entity.Street:
                ((Street)entity).Settlement = Current.Settlement ?? null;
                ((Street)entity).StreetType = Current.StreetType ?? null;
                break;

            case Entity.House:
                ((House)entity).Street = Current.Street ?? null;
                break;

            case Entity.Flat:
                ((Flat)entity).House    = Current.House ?? null;
                ((Flat)entity).FlatType = Current.FlatType ?? null;
                break;

            //case Entity.StreetType:
            //    break;
            //case Entity.FlatType:
            //    break;
            case Entity.Meter:
                ((Meter)entity).MeterType    = Current.MeterType ?? null;
                ((Meter)entity).Registration = Current.Registration ?? null;
                break;

            //case Entity.MeterType:
            //    break;
            case Entity.Reading:
                ((Reading)entity).Meter = Current.Meter ?? null;
                ((Reading)entity).Date  = DateTime.Today;
                break;

            case Entity.Payment:
                ((Payment)entity).Registration = Current.Registration ?? null;
                ((Payment)entity).Service      = Current.Service ?? null;
                ((Payment)entity).Date         = DateTime.Today;
                ((Payment)entity).TargetMonth  = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
                break;

            case Entity.Rate:
                ((Rate)entity).BeginDate = DateTime.Today;
                break;

            //case Entity.Benefit:
            //    break;
            case Entity.Service:
                ((Service)entity).ServiceType = Current.ServiceType ?? null;
                break;

            //case Entity.ServiceType:
            //    break;
            //case Entity.Unit:
            //    break;
            case Entity.Registration:
                ((Registration)entity).PaymentStartDate = DateTime.Today;
                ((Registration)entity).Flat             = Current.Flat ?? null;
                ((Registration)entity).Payer            = Current.Payer ?? null;
                break;

            case Entity.Payer:
                ((Payer)entity).User = Current.User ?? null;
                ((Payer)entity).Sex  = 1;    // male
                if (!uc.IsAdminLoggedIn)
                {
                    ((Payer)entity).User = uc.CurrentUser;
                }
                break;

            case Entity.User:
                ((User)entity).Salt        = PasswordMaker.GenerateSalt();
                ((User)entity).UserGroupID = (byte)uc.GetRegularUserGroup();
                break;
                //case Entity.UserGroup:
                //    break;
            }

            return(entity);
        }