예제 #1
0
        public async Task <ActionResult> PhotoUpload(HttpPostedFileBase ProfileImg)
        {
            var userManager = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>();

            // var name = Session["Name"];
            if (Session["Id"] != null)
            {
                var usr = userManager.FindById(Session["Id"].ToString());
                if (usr == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                if (ProfileImg != null)
                {
                    byte[] img;
                    System.Drawing.Image maxImgsze = System.Drawing.Image.FromStream(ProfileImg.InputStream, true, true);
                    decimal size = Math.Round(ProfileImg.ContentLength / (decimal)1024, 2);
                    if (size <= 1000)
                    {
                        img       = imgR.imageToByteArray(maxImgsze, maxImgsze.RawFormat, 180, 180);
                        usr.Photo = img;
                    }
                    else
                    {
                        TempData["error"] = "Uploaded Image size exceed 1000kb(i.e.1MB)!";
                        return(View());
                    }
                    await userManager.UpdateAsync(usr);

                    return(Redirect(Session["ReturnUrl"].ToString()));
                }
            }
            else
            {
                return(RedirectToAction("login", "Account"));
            }
            return(View());
        }
예제 #2
0
        public async Task <ActionResult> UrgentNeedForDrugs(UrgentNeedForDrugViewModel model, FormCollection f, HttpPostedFileBase prescription)
        {
            try
            {
                var response = Request["g-recaptcha-response"];
                //const string secret = "6LeP9hETAAAAAPhx2dmOL4eB6euPe_hLvOw1UaBH";
                string secret = System.Configuration.ConfigurationManager.AppSettings["recaptchaPrivateKey"];
                var    client = new WebClient();
                var    reply  =
                    client.DownloadString(
                        string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, response));
                var           captchaResponse = JsonConvert.DeserializeObject <reCaptchaClass>(reply);
                StringBuilder sb = new StringBuilder();
                if (ModelState.IsValid)
                {
                    if (!captchaResponse.Success)
                    {
                        if (captchaResponse.ErrorCodes.Count <= 0)
                        {
                            return(View());
                        }

                        var error = captchaResponse.ErrorCodes[0].ToLower();
                        switch (error)
                        {
                        case ("missing-input-secret"):
                            ViewBag.Message = "The secret parameter is missing.";
                            break;

                        case ("invalid-input-secret"):
                            ViewBag.Message = "The secret parameter is invalid or malformed.";
                            break;

                        case ("missing-input-response"):
                            ViewBag.Message = "The response parameter is missing.";
                            break;

                        case ("invalid-input-response"):
                            ViewBag.Message = "The response parameter is invalid or malformed.";
                            break;

                        default:
                            ViewBag.Message = "Error occured. Please try again";
                            break;
                        }
                        ModelState.AddModelError("", "You did not type the verification word correctly. Please try again.");
                    }
                    else
                    {
                        var con3ID = Convert.ToInt32(f["Country"]);
                        var con3   = await db.country.FindAsync(con3ID);

                        var st_Id = Convert.ToInt32(f["State"]);
                        var st    = await db.State.FindAsync(st_Id);

                        UrgentNeedForDrugsTb urgdr = new UrgentNeedForDrugsTb();
                        urgdr.DrugName            = model.DrugName;
                        urgdr.dosageForm          = model.dosageForm.dosageFormValue;
                        urgdr.drugStrength        = model.DrugStrength;
                        urgdr.Manufacturer        = model.Manufacturer;
                        urgdr.manufacturerCountry = model.ManufacturerCountry;
                        urgdr.MoreInformation     = model.Description;
                        //if (DrugName.Count() > 1 && dosageForm.Count() > 1)
                        //{
                        //    foreach (string dName in DrugName)
                        //    {
                        //        urgdr.DrugName = dName;
                        //    }
                        //}
                        // urgdr.dosageForm = f["dosageForm"];
                        urgdr.Name          = model.Name;
                        urgdr.Phone         = model.Phone;
                        urgdr.Email         = model.Email;
                        urgdr.City          = model.City;
                        urgdr.Address       = model.Address;
                        urgdr.Country       = con3.CountryName;
                        urgdr.State         = st.StateName;
                        urgdr.landMark      = model.Landmark;
                        urgdr.notifyStatus  = 0;
                        urgdr.RequestStatus = "Fresh";
                        urgdr.RequestedDate = DateTime.UtcNow;
                        if (prescription != null)
                        {
                            byte[] img;
                            //image.InputStream.Read(img, 0, (int)image.InputStream.Length);
                            System.Drawing.Image validateWH = System.Drawing.Image.FromStream(prescription.InputStream, true, true);
                            img = imgR.imageToByteArray(validateWH, validateWH.RawFormat, 305, 400);
                            //decimal size = Math.Round(prescription.ContentLength / (decimal)1024, 2);
                            urgdr.prescription = img;
                        }
                        // db.urgentNeedforDrugsTb.Add(urgdr);
                        await db.SaveChangesAsync();

                        //TODO: send an email to ihealth about client request
                        string subject = "Urgent Need For Drugs";
                        string body    = model.Name + " with the following contact number " + model.Phone + " , has placed an urgent request for the drug with the following information:" +
                                         "" + model.DrugName + ", " + model.Manufacturer + ".";
                        await em.SubcribersMailSender(model.Email, subject, body, model.Name);

                        TempData["success"] = "Your request has been submitted successfully";
                        TempData["info"]    = "We get back to you shortly, Thanks for using iHealth GSFM";
                        ModelState.Clear();
                        return(View());
                    }
                }
            }
            catch
            {
                TempData["error"] = "There is error processing your request. please try again later, thanks.";
                return(View());
            }
            return(View());
        }
예제 #3
0
        public async Task <ActionResult> Create(create_blog_post_viewModel model, FormCollection f, HttpPostedFileBase Feature_img)
        {
            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    if (!string.IsNullOrEmpty(f["short_description"]) && !string.IsNullOrEmpty(f["post_content"]))
                    {
                        blog_Post bp = new blog_Post();
                        bp.post_Title        = model.post_Title;
                        bp.short_description = Server.HtmlEncode(sanitizer.Sanitize(f["short_description"]));
                        bp.post_content      = Server.HtmlEncode(sanitizer.Sanitize(f["post_content"], "", null));
                        bp.post_tags         = model.post_tags;
                        bp.post_url          = !string.IsNullOrEmpty(model.post_url) ? seo.generate_title(model.post_url) : seo.generate_title(model.post_Title);
                        bp.meta_description  = Server.HtmlEncode(sanitizer.Sanitize(f["meta_description"]));
                        bp.meta_keyword      = model.meta_keyword;
                        bp.meta_title        = !string.IsNullOrEmpty(model.meta_title) ? model.meta_title : model.post_Title;
                        bp.published_by_Id   = Session["Id"].ToString();
                        if (f["chkVideoUrlAsFeatureImg"] != null)
                        {
                            if (f["chkVideoUrlAsFeatureImg"].ToString() == "on")
                            {
                                if (!string.IsNullOrEmpty(model.video_url))
                                {
                                    bp.video_url = model.video_url;
                                    bp.use_video_as_cover_img = true;
                                }
                                else
                                {
                                    TempData["error"]  = "Supply URL to your video";
                                    ViewBag.videoerror = "Supply Url to your video";
                                    return(View());
                                }
                            }
                            else
                            {
                                bp.use_video_as_cover_img = false;
                            }
                        }
                        else
                        {
                            bp.use_video_as_cover_img = false;
                        }

                        if (Feature_img != null)
                        {
                            var    ImageName    = Path.GetFileName(Feature_img.FileName);
                            string physicalPath = Server.MapPath("~/Content/Blog_post_image/" + ImageName);
                            byte[] img;
                            System.Drawing.Image image2validate = System.Drawing.Image.FromStream(Feature_img.InputStream, true, true);
                            decimal size = Math.Round(Feature_img.ContentLength / (decimal)1024, 2);
                            if (size <= 2000)
                            {
                                img = ImageRz.imageToByteArray(image2validate, image2validate.RawFormat, 1280, 800);
                                bp.Feature_Image = img;
                                System.IO.File.WriteAllBytes(physicalPath, img);
                                Feature_img.SaveAs(physicalPath);
                                bp.Image_url = ImageName;
                            }
                            else
                            {
                                TempData["error"] = "Uploaded Image size exceeded 2000kb(i.e.2MB)!";
                                return(View());
                            }
                        }
                        if (f["chkAccept"] != null)
                        {
                            if (f["chkAccept"].ToString() == "on")
                            {
                                bp.allow_comment = true;
                            }
                            else
                            {
                                bp.allow_comment = false;
                            }
                        }
                        else
                        {
                            bp.allow_comment = false;
                        }
                        bp.publish_date = !string.IsNullOrEmpty(f["publish_date"]) ? Convert.ToDateTime(f["publish_date"]) : DateTime.UtcNow.Date;
                        db.blog_posts.Add(bp);
                        await db.SaveChangesAsync();

                        TempData["success"] = "Article has been published successfully!";
                        return(Redirect(Request.Url.ToString()));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Field Marked with '*' must be filled");
                        return(View());
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Field Marked with '*' must be filled");
                    return(View());
                }
                // TempData["success"] = "Article has been published successfully!";
                // return Redirect(Request.Url.ToString());
            }
            catch (Exception ex)
            {
                throw ex;
                //return View();
            }
        }
예제 #4
0
        public async Task <ActionResult> Register_Product(FormCollection frm, RegisterProductViewModel rgp, IEnumerable <HttpPostedFileBase> ProductImage)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Random       rd          = new Random();
                    int          productcode = rd.Next(99999);
                    int          pcv         = Convert.ToInt32(frm["ProductCategory"]);
                    int          cv          = Convert.ToInt32(frm["Country"]);
                    int          sv          = Convert.ToInt32(frm["State"]);
                    var          userId      = Session["Id"].ToString();
                    ProductsInfo pr          = new ProductsInfo();
                    var          c           = await db.country.FindAsync(cv);

                    var pc = await db.productCategory.FindAsync(pcv);

                    var st = await db.State.FindAsync(sv);

                    pr.ProductCode                = productcode;
                    pr.ProductName                = rgp.ProductName;
                    pr.Manufacturer               = rgp.Manufacturer;
                    pr.ProductCategory            = pc.PCatName;
                    pr.Pharmaceutic_Drug_Category = rgp.drugs_categories.Drug_Category_Id;
                    pr.Product_Summary            = Server.HtmlEncode(sanitizer.Sanitize(rgp.Product_Summary));
                    pr.ProductDescription         = Server.HtmlEncode(sanitizer.Sanitize(rgp.ProductDescription, "", null));
                    pr.price            = Convert.ToDecimal(frm["price"]);
                    pr.Address          = rgp.Address;
                    pr.Country          = c.CountryName;
                    pr.State            = st.StateName;
                    pr.location         = frm["city"];
                    pr.UserID           = userId;
                    pr.ApprovedStatus   = "P";
                    pr.VerifiedStatus   = "NV";
                    pr.NotifyStatus     = 0;
                    pr.regDate          = DateTime.UtcNow;
                    pr.ProductCondition = rgp.productCond.id;
                    if (ProductImage.Count() != 0 || ProductImage.FirstOrDefault() != null)
                    {
                        #region
                        int counter = 0;
                        foreach (HttpPostedFileBase image in ProductImage)
                        {
                            counter++;
                            byte[] img;
                            //image.InputStream.Read(img, 0, (int)image.InputStream.Length);
                            System.Drawing.Image validateWH = System.Drawing.Image.FromStream(image.InputStream, true, true);
                            img = imgR.imageToByteArray(validateWH, validateWH.RawFormat, 305, 400);
                            decimal size = Math.Round(image.ContentLength / (decimal)1024, 2);
                            if (size <= 1000)
                            {
                                if (counter == 1)
                                {
                                    pr.ProductImage = img;
                                }
                                else if (counter == 2)
                                {
                                    pr.ProductImage2 = img;
                                }
                                else if (counter == 3)
                                {
                                    pr.ProductImage3 = img;
                                }
                                else
                                {
                                    pr.ProductImage4 = img;
                                }
                            }
                            else
                            {
                                TempData["error"] = "Image " + counter + "'s size exceeded 1000kb(i.e 1MB) ";
                                return(View(rgp));
                            }
                            #endregion
                        }
                    }
                    else
                    {
                        TempData["error"] = "Please Upload at least one product's image";
                        return(View(rgp));
                    }
                    db.ProductTb.Add(pr);
                    await db.SaveChangesAsync();

                    TempData["success"] = "Product was created successfull!";
                    TempData["info"]    = "We will Notify you upon approver, Thanks.";
                    ViewBag.Alert       = "Add More Products";

                    return(Redirect(Request.Url.ToString()));
                }
                ModelState.AddModelError("", "Fill All Required field!");
                return(View(rgp));
            }
            catch
            {
                TempData["error"] = "Error occurred";
                return(View(rgp));
            }
        }
예제 #5
0
        public async Task <ActionResult> Create_Biz(FormCollection collection, [Bind(Exclude = "logo")] BusinessInfo biz, HttpPostedFileBase logo)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(biz));
                }
                // status s = new status();
                var     userId = Session["Id"].ToString();
                var     u      = db.Users.Find(userId);
                country c      = db.country.Find(Convert.ToInt32(biz.Country));
                var     st     = db.State.Find(Convert.ToInt32(collection["state"]));
                var     cat    = db.category.Find(Convert.ToInt32(biz.Category));

                BusinessInfo b = new BusinessInfo();
                b.UserID           = userId;
                b.businessName     = biz.businessName;
                b.Country          = c.CountryName;
                b.State            = st.StateName;
                b.City             = collection["city"];
                b.Email            = biz.Email;
                b.Phone            = biz.Phone;
                b.Category         = cat.CatName;
                b.Website          = biz.Website;
                b.Address          = biz.Address;
                b.NotifyStatus     = 0;
                b.regDate          = DateTime.UtcNow;
                b.ApprovedStatus   = "P";
                b.VerifiedStatus   = "NV";
                b.Description      = Server.HtmlEncode(sanitizer.Sanitize(collection["summary"], "", null));
                b.Facebook         = biz.Facebook;
                b.Twitter          = biz.Twitter;
                b.LinkedIn         = biz.LinkedIn;
                b.Google_Plus      = biz.Google_Plus;
                b.Custom_Url       = seo.generate_title(biz.businessName);
                b.isServiceBooster = (u.isClientBooster == true) ? "Yes" : "No";
                if (collection["subCat1"] != null)
                {
                    var sb1 = db.SubCategory1.Find(Convert.ToInt32(collection["subCat1"]));
                    b.subCategory1 = sb1.SubCat1Name;
                    if (collection["subCat2"] != null)
                    {
                        var sb2 = db.SubCategory2.Find(Convert.ToInt32(collection["subCat2"]));
                        b.subCategory2 = sb2.SubCat2name;
                    }
                }

                //if (collection["lat"] != "" && collection["long"] != "")
                //{
                //    string Long = collection["long"];
                //    string Lat = collection["lat"];
                //    string cordinate = string.Format("Point({0} {1})", Lat,Long);
                //    b.mapLocation = DbGeography.FromText(cordinate, 4326);
                //}
                if (logo != null)
                {
                    byte[] img;
                    System.Drawing.Image image2validate = System.Drawing.Image.FromStream(logo.InputStream, true, true);
                    decimal size = Math.Round(logo.ContentLength / (decimal)1024, 2);
                    if (size <= 1000)
                    {
                        img    = ImageRz.imageToByteArray(image2validate, image2validate.RawFormat, 111, 119);
                        b.logo = img;
                    }
                    else
                    {
                        TempData["error"] = "Uploaded Image size exceed 1000kb(i.e.1MB)!";
                        return(View());
                    }
                }
                db.BusinessInfoes.Add(b);
                await db.SaveChangesAsync();

                await e.bizRegistrationMail(u.Email, biz.Email, biz.Phone, biz.businessName, biz.Address, cat.CatName, u.FirstName);

                // TODO: Add insert logic here
                TempData["success"] = "Business registration was successfull!";
                TempData["info"]    = "We will Notify you upon approver, Thanks.";
                return(Redirect(Request.Url.ToString()));
            }
            catch (Exception ex)
            {
                TempData["error"] = ex.ToString();
                return(View());
            }
        }