Example #1
0
        public virtual void Insert(TEntityDto entityDto)
        {
            try
            {
                if (WcfCurrentContext.IsAuthenticated)
                {
                    UserIdentity currentUser = WcfCurrentContext.CurrentUser;
                    var          perId       = int.Parse(currentUser.UserId);
                    AssemblyReflector.SetValue(entityDto, "InsertPerId", perId);
                }
                AssemblyReflector.SetValue(entityDto, "InsertDate", DateTime.Now);
                TEntity entity = CurrentRepository.Create(entityDto);
                CurrentRepository.SaveChanges();

                object id = AssemblyReflector.GetValue(entity, entityDto.PrimaryKeyName);
                AssemblyReflector.SetValue(entityDto, entityDto.PrimaryKeyName, id);
                entityDto.State = DtoObjectState.Inserted;
            }
            catch (Exception ex)
            {
                entityDto.State = DtoObjectState.Ignore;
                entityDto.Response.AddBusinessException(new Framework.Common.Service.Message.BusinessExceptionDto(Framework.Common.Service.Message.BusinessExceptionEnum.Operational, "در ورود اطلاعات به دیتابیس مشکل بوجود آمد!", ex.Message, ex.StackTrace));
                ex.Data.Add("type", "db");
                throw ex;
            }
        }
Example #2
0
        public virtual void Insert(List <TEntityDto> entityDtoList)
        {
            //   using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    List <TEntity> insertedList = new List <TEntity>();
                    foreach (var entityDto in entityDtoList)
                    {
                        if (WcfCurrentContext.IsAuthenticated)
                        {
                            UserIdentity currentUser = WcfCurrentContext.CurrentUser;
                            var          perId       = int.Parse(currentUser.UserId);
                            AssemblyReflector.SetValue(entityDto, "InsertPerId", perId);
                        }
                        AssemblyReflector.SetValue(entityDto, "InsertDate", DateTime.Now);
                        TEntity entity = CurrentRepository.Create(entityDto);
                        insertedList.Add(entity);
                    }
                    CurrentRepository.SaveChanges();
                    //  scope.Complete();

                    if (insertedList.Count == entityDtoList.Count)
                    {
                        int index = 0;
                        foreach (var entityDto in entityDtoList)
                        {
                            var    entity = insertedList[index++];
                            object id     = AssemblyReflector.GetValue(entity, entityDto.PrimaryKeyName);
                            AssemblyReflector.SetValue(entityDto, entityDto.PrimaryKeyName, id);

                            entityDto.State = DtoObjectState.Inserted;
                        }
                    }
                }
                catch (Exception ex)
                {
                    foreach (var entityDto in entityDtoList)
                    {
                        entityDto.State = DtoObjectState.Ignore;
                        entityDto.Response.AddBusinessException(new Framework.Common.Service.Message.BusinessExceptionDto(Framework.Common.Service.Message.BusinessExceptionEnum.Operational, "در ورود اطلاعات به دیتابیس مشکل بوجود آمد!", ex.Message, ex.StackTrace));
                    }
                    ex.Data.Add("type", "db");
                    throw ex;
                }
            }
        }
Example #3
0
        public void Create(object obj)
        {
            QueryInfo info = new QueryInfo();

            CurrentRepository.Create(GenerateCreateQuery(obj));
        }