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); }
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); }
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); }
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); }
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); }
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()); }
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); }
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())); }
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())); }
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); }
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); }
public SnfsPolynomialGenerator(SpecialNumber number, int polynomialDeg) { _number = number; _polynomialDeg = polynomialDeg; }
public static SpecialNumberView ConvertToSpecialNumberView(this SpecialNumber specialNumber) { return(Mapper.Map <SpecialNumber, SpecialNumberView>(specialNumber)); }