Exemplo n.º 1
0
        public GeneralResponse DeleteSpecialNumber(DeleteRequest request)
        {
            GeneralResponse response = new GeneralResponse();

            SpecialNumber specialNumber = new SpecialNumber();

            specialNumber = _specialNumberRepository.FindBy(request.ID);

            if (specialNumber != null)
            {
                try
                {
                    _specialNumberRepository.Remove(specialNumber);
                    _uow.Commit();

                    ////response.success = true;
                }
                catch (Exception ex)
                {
                    ////response.success = false;
                    response.ErrorMessages.Add(ex.Message);
                }
            }

            return(response);
        }
Exemplo n.º 2
0
        public GeneralResponse EditSpecialNumber(EditSpecialNumberRequestOld request)
        {
            GeneralResponse response      = new GeneralResponse();
            SpecialNumber   specialNumber = new SpecialNumber();

            specialNumber = _specialNumberRepository.FindBy(request.ID);

            if (specialNumber != null)
            {
                try
                {
                    specialNumber.ModifiedDate     = PersianDateTime.Now;
                    specialNumber.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID);
                    specialNumber.FromNumber       = request.FromNumber;
                    if (request.Note != null)
                    {
                        specialNumber.Note = request.Note;
                    }
                    specialNumber.ToNumber = request.ToNumber;

                    if (specialNumber.RowVersion != request.RowVersion)
                    {
                        ////response.success = false;
                        response.ErrorMessages.Add("کارشناس محترم، یک کاربر همزمان با شما در حال ویرایش این رکورد است. بنابراین اطلاعات شما ذخیره نمی شود.");
                        return(response);
                    }
                    else
                    {
                        specialNumber.RowVersion += 1;
                    }

                    if (specialNumber.GetBrokenRules().Count() > 0)
                    {
                        ////response.success = false;
                        foreach (BusinessRule businessRule in specialNumber.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(businessRule.Rule);
                        }

                        return(response);
                    }

                    _specialNumberRepository.Save(specialNumber);
                    _uow.Commit();

                    ////response.success = true;
                }
                catch (Exception ex)
                {
                    ////response.success = false;
                    response.ErrorMessages.Add(ex.Message);
                }
            }
            else
            {
                ////response.success = false;
                response.ErrorMessages.Add("هیچ موردی جهت ویرایش وجود ندارد.");
            }
            return(response);
        }
Exemplo n.º 3
0
        public GeneralResponse DeleteSpecialNumbers(IEnumerable <DeleteRequest> requests)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (DeleteRequest request in requests)
                {
                    SpecialNumber specialNumber = _specialNumberRepository.FindBy(request.ID);
                    _specialNumberRepository.Remove(specialNumber);
                }
                _uow.Commit();
            }

            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 4
0
        public GeneralResponse AddSpecialNumbers(IEnumerable <AddSpecialNumberRequest> requests, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (AddSpecialNumberRequest request in requests)
                {
                    SpecialNumber specialNumber = new SpecialNumber();
                    specialNumber.ID             = Guid.NewGuid();
                    specialNumber.CreateDate     = PersianDateTime.Now;
                    specialNumber.CreateEmployee = _employeeRepository.FindBy(CreateEmployeeID);
                    specialNumber.FromNumber     = request.FromNumber;
                    specialNumber.Note           = request.Note;
                    specialNumber.ToNumber       = request.ToNumber;
                    specialNumber.RowVersion     = 1;

                    _specialNumberRepository.Add(specialNumber);
                }
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 5
0
        public void GeneratorReturnCorrectRoot()
        {
            var        specialNumber = new SpecialNumber(3, 20, 2);
            var        generator     = new SnfsPolynomialGenerator(specialNumber, 3);
            BigInteger expectedRoot  = 2187;
            var        actual        = generator.GeneratePolynomial().Root;

            Assert.AreEqual(expectedRoot, actual);
        }
Exemplo n.º 6
0
        public void GeneratorReturnCorrectPolynomial()
        {
            var specialNumber = new SpecialNumber(3, 20, 2);
            var generator     = new SnfsPolynomialGenerator(specialNumber, 3);
            var expectedPoly  = "x^3-6";
            var actual        = generator.GeneratePolynomial().Polynomial;

            Assert.AreEqual(expectedPoly, actual.ToString());
        }
Exemplo n.º 7
0
        public GeneralResponse EditSpecialNumbers(IEnumerable <EditSpecialNumberRequest> requests, Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (EditSpecialNumberRequest request in requests)
                {
                    SpecialNumber specialNumber = new SpecialNumber();

                    specialNumber.ModifiedDate     = PersianDateTime.Now;
                    specialNumber.ModifiedEmployee = _employeeRepository.FindBy(ModifiedEmployeeID);
                    specialNumber.FromNumber       = request.FromNumber;
                    if (request.Note != null)
                    {
                        specialNumber.Note = request.Note;
                    }
                    specialNumber.ToNumber = request.ToNumber;

                    if (specialNumber.RowVersion != request.RowVersion)
                    {
                        ////response.success = false;
                        response.ErrorMessages.Add("EditConcurrencyKey");
                        return(response);
                    }
                    else
                    {
                        specialNumber.RowVersion += 1;
                    }

                    if (specialNumber.GetBrokenRules().Count() > 0)
                    {
                        ////response.success = false;
                        foreach (BusinessRule businessRule in specialNumber.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(businessRule.Rule);
                        }

                        return(response);
                    }

                    _specialNumberRepository.Save(specialNumber);
                }
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Exemplo n.º 8
0
Arquivo: SNFS.cs Projeto: zzfeed/GNFS
        public Snfs(SpecialNumber number, IPolynomialGenerator generator, long rfb, long afb, long sieveSize)
        {
            _number    = number;
            _generator = generator;

            _rationalPrimeBound  = rfb;
            _algebraicPrimeBound = afb;
            _kerDim              = 10;
            _sieveSize           = sieveSize;
            _quadraticCharFbSize = Convert.ToInt64(3 * BigInteger.Log10(number.Value()));
        }
Exemplo n.º 9
0
Arquivo: SNFS.cs Projeto: zzfeed/GNFS
        public Snfs(SpecialNumber number, IPolynomialGenerator generator)
        {
            _number    = number;
            _generator = generator;


            var exp = Math.Pow(8 / 9.0, 1 / 3.0) * Math.Pow(BigInteger.Log(number.Value()), 1 / 3.0) * Math.Pow(Math.Log(BigInteger.Log(number.Value())), 2 / 3.0);


            _rationalPrimeBound  = Convert.ToInt64(Math.Exp(exp) / 10);
            _algebraicPrimeBound = _rationalPrimeBound;
            _kerDim              = 10;
            _sieveSize           = 5000000;
            _quadraticCharFbSize = Convert.ToInt64(3 * BigInteger.Log10(number.Value()));
        }
Exemplo n.º 10
0
        public GeneralResponse AddSpecialNumber(AddSpecialNumberRequestOld request)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SpecialNumber specialNumber = new SpecialNumber();
                specialNumber.ID             = Guid.NewGuid();
                specialNumber.CreateDate     = PersianDateTime.Now;
                specialNumber.CreateEmployee = _employeeRepository.FindBy(request.CreateEmployeeID);
                specialNumber.FromNumber     = request.FromNumber;
                specialNumber.Note           = request.Note;
                specialNumber.ToNumber       = request.ToNumber;
                specialNumber.RowVersion     = 1;

                _specialNumberRepository.Add(specialNumber);
                _uow.Commit();

                ////response.success = true;

                // Validation
                if (specialNumber.GetBrokenRules().Count() > 0)
                {
                    ////response.success = false;

                    foreach (BusinessRule businessRule in specialNumber.GetBrokenRules())
                    {
                        response.ErrorMessages.Add(businessRule.Rule);
                    }

                    return(response);
                }
            }
            catch (Exception ex)
            {
                ////response.success = false;
                response.ErrorMessages.Add(ex.Message);
            }

            return(response);
        }
Exemplo n.º 11
0
        public GetSpecialNumberResponse GetSpecialNumber(GetRequest request)
        {
            GetSpecialNumberResponse response = new GetSpecialNumberResponse();

            try
            {
                SpecialNumber     specialNumber     = new SpecialNumber();
                SpecialNumberView specialNumberView = specialNumber.ConvertToSpecialNumberView();

                specialNumber = _specialNumberRepository.FindBy(request.ID);
                if (specialNumber != null)
                {
                    specialNumberView = specialNumber.ConvertToSpecialNumberView();
                }

                response.SpecialNumberView = specialNumberView;
            }
            catch (Exception ex)
            {
            }

            return(response);
        }
Exemplo n.º 12
0
 public SnfsPolynomialGenerator(SpecialNumber number, int polynomialDeg)
 {
     _number        = number;
     _polynomialDeg = polynomialDeg;
 }
Exemplo n.º 13
0
 public static SpecialNumberView ConvertToSpecialNumberView(this SpecialNumber specialNumber)
 {
     return(Mapper.Map <SpecialNumber, SpecialNumberView>(specialNumber));
 }