public async Task <IHttpActionResult> PostProduct(Product product) { product.IsAvailable = true; product.PublishOn = DateTime.Now.ToUniversalTime(); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (product.ImageArray != null && product.ImageArray.Length > 0) { var stream = new MemoryStream(product.ImageArray); var guid = ShortGuid.NewShortGuid().ToString(); var file = $"{guid}.jpg"; var folder = "~/Content/Products"; var fullPath = $"{folder}/{file}"; var response = FilesHelper.UploadPhoto(stream, folder, file); if (response) { product.ImagePath = fullPath; } } this.db.Products.Add(product); await this.db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = product.ProducId }, product)); }
public string GetPesapalUrl(Account userAccount) { Uri pesaPalUri = new Uri("http://demo.pesapal.com/API/PostPesapalDirectOrderV4"); Uri pesapalCallbackUri = new Uri("http://jobmtaani.co.ke/#/home"); string SubscriptionPaymentId = ShortGuid.NewShortGuid().Value; IBuilder builder = GetApiParameterBuilder(pesaPalUri, pesapalCallbackUri); APIHelper <IBuilder> helper = new APIHelper <IBuilder>(builder); List <LineItem> lineItems = new List <LineItem>(); LineItem subscription = new LineItem() { Particulars = "Subscription", UniqueId = SubscriptionPaymentId, Quantity = 1, UnitCost = 50 }; subscription.SubTotal = (subscription.Quantity * subscription.UnitCost); lineItems.Add(subscription); PesapalDirectOrderInfo webOrder = GetWebOrder(userAccount, SubscriptionPaymentId, lineItems, subscription); AddSubscriptionToDB(userAccount, SubscriptionPaymentId); string iframeUrl = helper.PostGetPesapalDirectOrderUrl(webOrder); return(iframeUrl); }
public static string GenerateUniqueId(List <Survey> currentSurveys) { var id = ""; do { id = ShortGuid.NewShortGuid().ToString().Substring(0, 5).ToLower(); } while (currentSurveys.FindIndex(survey => survey.Id == id) > -1); return(id); }
public void NewShortGuid_ShouldCreateUniqueShortGuids() { const int shortGuidsToGenerate = 10_000; var shortGuids = new List <ShortGuid>(shortGuidsToGenerate) { ShortGuid.Empty }; for (int i = 0; i < shortGuidsToGenerate; i++) { var shortGuid = ShortGuid.NewShortGuid(); shortGuids.Should().NotContain(shortGuid); shortGuids.Add(shortGuid); } }
private string CreateToken() { return(ShortGuid.NewShortGuid()); }