コード例 #1
0
        public async Task <ActionResult> AddMedia(PRODUKTI_IN_MEDIA model)
        {
            MessageJS returnmodel = new MessageJS();
            var       user        = await GetUser();

            if (ModelState.IsValid)
            {
                try
                {
                    PRODUKTI_IN_MEDIA addmodel = new PRODUKTI_IN_MEDIA();
                    addmodel.ID         = model.ID;
                    addmodel.ProduktiID = model.ProduktiID;
                    addmodel.MediaID    = model.MediaID;
                    db.PRODUKTI_IN_MEDIA.Add(addmodel);
                    await db.SaveChangesAsync();

                    returnmodel.Status  = true;
                    returnmodel.Message = "Produktit iu shtua nje fotografi!";
                    return(Json(returnmodel, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    returnmodel.Status  = false;
                    returnmodel.Message = "Ka ndodhur një gabim";
                }
            }

            return(Json(returnmodel, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult UploadFile()
        {
            MessageJS returnmodel = new MessageJS();

            if (Request.Files.Count > 0 && Request.Files[0] != null)
            {
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    var httpPostedFile = Request.Files[i];

                    string[] strSplit = httpPostedFile.FileName.Split('.');

                    string filetype = strSplit[strSplit.Length - 1].ToLower();

                    if (httpPostedFile.FileName != "" && (filetype == "jpg" || filetype == "jpeg" || filetype == "png"))
                    {
                        string srvPath = Server.MapPath("../Files/img");
                        string path    = "/Files/img/" + httpPostedFile.FileName;

                        string savingpath = "";
                        try
                        {
                            using (MD5 md5Hash = MD5.Create())
                            {
                                string hash = HashMedia.GetMd5Hash(md5Hash, httpPostedFile.FileName + "" + DateTime.Now.ToString());

                                savingpath = srvPath + "/" + hash + "." + filetype;
                                httpPostedFile.SaveAs(savingpath);
                                savingpath = "/Files/img/" + hash + "." + filetype;

                                MEDIAT upload = new MEDIAT();
                                upload.Created    = DateTime.Now;
                                upload.Emri       = Guid.NewGuid();
                                Session["Emri"]   = upload.Emri;
                                upload.Extensioni = (int)Enums.FileType.image;
                                upload.Pershkrimi = httpPostedFile.FileName;
                                //upload.Tipi = (int)FileType.image;
                                upload.Shtegu = savingpath;
                                Session["UploadedPicture"] = upload;
                                returnmodel.Status         = true;
                                returnmodel.Message        = "Imazhi u ngarkua me sukses!";
                            }
                        }
                        catch (Exception ex)
                        {
                            returnmodel.Status  = false;
                            returnmodel.Message = "Ka ndodhur nje gabim!";
                            //throw (ex);
                            //return false;
                        }
                    }
                    else
                    {
                        returnmodel.Status  = false;
                        returnmodel.Message = "File nuk eshte ne formatin e duhur!";
                    }
                }
            }
            return(Json(returnmodel, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public async Task <ActionResult> Create(PRODUKTI produkti)
        {
            if (ModelState.IsValid)
            {
                MessageJS returnmodel = new MessageJS();

                var user = await GetUser();

                try
                {
                    PRODUKTI model = new PRODUKTI();
                    if (produkti.ID != 0)
                    {
                        model = await db.PRODUKTIs.FindAsync(produkti.ID);
                    }

                    model.ID          = produkti.ID;
                    model.Emertimi    = produkti.Emertimi;
                    model.Pershkrimi  = produkti.Pershkrimi;
                    model.CmimiBaze   = produkti.CmimiBaze;
                    model.TVSH        = produkti.TVSH;
                    model.Zbritja     = produkti.Zbritja;
                    model.ProdhuesiID = produkti.ProdhuesiID;
                    model.Sasia       = produkti.Sasia;
                    model.Statusi     = (int)Enums.ProduktiStatus.Draft;

                    if (produkti.ID == 0)
                    {
                        model.Kodi = await GjeneroNumrinProduktit();

                        model.CreatedBy = user.ID;
                        model.Created   = DateTime.Now;

                        db.PRODUKTIs.Add(model);
                        await db.SaveChangesAsync();
                    }
                    else
                    {
                        db.Entry(model).State = EntityState.Modified;
                        await db.SaveChangesAsync();
                    }

                    returnmodel.ID = model.ID;
                }
                catch (Exception ex)
                {
                    return(Json("Gabim " + ex.Message, JsonRequestBehavior.DenyGet));
                }

                returnmodel.Status  = true;
                returnmodel.Message = "Produkti u ruajt me sukses";
                return(Json(returnmodel, JsonRequestBehavior.AllowGet));
            }
            return(Json("Gabim", JsonRequestBehavior.DenyGet));
        }
コード例 #4
0
        public async Task <ActionResult> DeleteChosenMedia_POST(PRODUKTI_IN_MEDIA model)
        {
            MessageJS returnmodel    = new MessageJS();
            var       medianeprodukt = await db.PRODUKTI_IN_MEDIA.FindAsync(model.MediaID);

            try
            {
                db.PRODUKTI_IN_MEDIA.Remove(medianeprodukt);
                await db.SaveChangesAsync();

                returnmodel.Status  = true;
                returnmodel.Message = "Media u fshi nga produkti";
                returnmodel.ID      = model.MediaID;
            }
            catch (Exception)
            {
                returnmodel.Status  = false;
                returnmodel.Message = "Ka ndodhur nje gabim";
            }
            return(Json(returnmodel, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public async Task <ActionResult> DeleteChosenSlide_POST(DeleteSlideViewModel model)
        {
            MessageJS returnmodel = new MessageJS();
            var       SlideID     = await db.SLLIDEs.FindAsync(model.id);

            try
            {
                db.SLLIDEs.Remove(SlideID);
                await db.SaveChangesAsync();

                returnmodel.Status  = true;
                returnmodel.Message = "Sllide u fshi nga kontrata";
                returnmodel.ID      = model.id;
                return(Json(new { result = "Redirect", url = Url.Action("Index", "SLIDE") }));
            }
            catch (Exception)
            {
                returnmodel.Status  = false;
                returnmodel.Message = "Ka ndodhur nje gabim";
            }
            return(Json(new { result = "Redirect", url = Url.Action("Index", "SLIDE") }));
        }
コード例 #6
0
        public async Task <ActionResult> UserRegister_Post(RegisterViewModelUser model)
        {
            MessageJS returnmodel = new MessageJS();

            if (true)
            {
                if (ModelState.IsValid)
                {
                    var username = model.Emri.ToLower() + "." + model.Mbiemri.ToLower();
                    var user     = new ApplicationUser {
                        UserName = username, Email = model.EmailAdresa
                    };
                    var result = await UserManager.CreateAsync(user, model.UserPassword);

                    if (result.Succeeded)
                    {
                        try
                        {
                            var userfound = await UserManager.FindByEmailAsync(model.EmailAdresa);

                            USER newUser = new USER();
                            newUser.UserID  = userfound.Id;
                            newUser.Emri    = model.Emri;
                            newUser.Mbiemri = model.Mbiemri;
                            string        password      = model.UserPassword;
                            ASCIIEncoding binarypass    = new ASCIIEncoding();
                            string        encrypted     = Encrypt(password);
                            byte[]        passwordArray = binarypass.GetBytes(encrypted);
                            newUser.Password     = passwordArray;
                            newUser.Email        = model.EmailAdresa;
                            newUser.Adresa       = model.Adresa;
                            newUser.RandomNumber = RandomString(6, false);
                            db.USERs.Add(newUser);
                            await db.SaveChangesAsync();

                            returnmodel.Status  = true;
                            returnmodel.Message = "Llogaria eshte regjistruar me sukses!";
                        }
                        catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                        {
                            Exception raise = dbEx;
                            foreach (var validationErrors in dbEx.EntityValidationErrors)
                            {
                                foreach (var validationError in validationErrors.ValidationErrors)
                                {
                                    string message = string.Format("{0}:{1}",
                                                                   validationErrors.Entry.Entity.ToString(),
                                                                   validationError.ErrorMessage);
                                    raise = new InvalidOperationException(message, raise);
                                }
                            }
                            await UserManager.DeleteAsync(user);

                            returnmodel.Status  = false;
                            returnmodel.Message = "Ka ndodhur një gabim, provoni përsëri";
                        }
                        //catch (Exception e)
                        //{
                        //    await UserManager.DeleteAsync(user);
                        //    returnmodel.Status = false;
                        //    returnmodel.Message = "Ka ndodhur një gabim, provoni përsëri";
                        //}
                    }
                    else
                    {
                        await UserManager.DeleteAsync(user);

                        returnmodel.Status  = false;
                        returnmodel.Message = "Email adresa ose username egziston";
                    }

                    AddErrors(result);
                }

                else
                {
                    var errors = ModelState.Select(x => x.Value.Errors)
                                 .Where(y => y.Count > 0)
                                 .ToList();
                    returnmodel.Status  = false;
                    returnmodel.Message = "Ka ndodhur një gabim, provoni përsëri";
                }
            }
            return(Json(returnmodel, JsonRequestBehavior.AllowGet));
        }
コード例 #7
0
        public async Task <ActionResult> Create(DataEntryUser data_entry)
        {
            Session["perdoruesi"] = null;
            var user = await GetUser();

            MessageJS returnmodel = new MessageJS();

            if (ModelState.IsValid)
            {
                try
                {
                    USER_DATA addmodel = new USER_DATA();
                    addmodel.ID           = data_entry.ID;
                    addmodel.BloodGlucose = data_entry.Glukoza;
                    addmodel.UserID       = user.ID;
                    var bmi = Convert.ToDouble(data_entry.Pesha) / Math.Pow(Convert.ToDouble(data_entry.Gjatesia / 100), 2);
                    addmodel.BMI = Convert.ToDecimal(bmi.ToString("0.00"));

                    var lista = db.USER_DATA.Where(q => q.UserID != user.ID).ToList();

                    List <ListaKnn> lista_knn          = new List <ListaKnn>();
                    double          neighbors_distance = 0;
                    foreach (var item in lista)
                    {
                        var distanca = Math.Pow(Convert.ToDouble(item.BMI.Value - Convert.ToDecimal(bmi)), 2) + Math.Pow(Convert.ToDouble(item.BloodGlucose.Value - data_entry.Glukoza), 2);
                        neighbors_distance = Math.Sqrt(distanca);
                        lista_knn.Add(new ListaKnn()
                        {
                            distanca       = neighbors_distance,
                            userID         = item.UserID.Value,
                            classification = item.HasDiabet.Value
                        });
                    }
                    //knn
                    int k = 5;
                    var selekto_perdoruesit = (from t in lista_knn orderby t.distanca descending select t).ToList().Take(k);
                    var count_false         = (from bashkesia in selekto_perdoruesit where bashkesia.classification = false select bashkesia).ToList();
                    var count_true          = (from bashkesia in selekto_perdoruesit where bashkesia.classification = true select bashkesia).ToList();

                    bool klasifikimi          = false;
                    var  perdoruesit_me_afert = count_false.OrderByDescending(q => q.distanca).FirstOrDefault();

                    if (count_false.Count() < count_true.Count())
                    {
                        klasifikimi          = true;
                        perdoruesit_me_afert = count_true.OrderByDescending(q => q.distanca).FirstOrDefault();
                    }
                    Session["perdoruesi"] = db.USER_DATA.Where(q => q.UserID == perdoruesit_me_afert.userID).FirstOrDefault();
                    addmodel.HasDiabet    = klasifikimi;
                    db.USER_DATA.Add(addmodel);
                    await db.SaveChangesAsync();

                    returnmodel.Status = true;
                    returnmodel.ID     = addmodel.ID;
                    return(Json(returnmodel, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    returnmodel.Status  = false;
                    returnmodel.Message = "Ka ndodhur një gabim";
                    return(Json(returnmodel, JsonRequestBehavior.DenyGet));
                }
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
            }
            returnmodel.Status = false;
            return(Json(returnmodel, JsonRequestBehavior.DenyGet));
        }
コード例 #8
0
        public async Task <ActionResult> CalculatePearson(IList <USER_RATING> meals_model)
        {
            Session["meals"] = null;
            Session["listaPerfundimtare"] = null;
            var user = await GetUser();

            MessageJS returnmodel = new MessageJS();
            List <Pearson_Corelation> pearson_corelation = new List <Pearson_Corelation>();

            if (ModelState.IsValid)
            {
                try
                {
                    //kshyrmi ne db qe contains krejt qeto meals qe i ban rating useri

                    var meals_db = db.USER_RATING.Where(q => q.UserID != user.ID).Select(q => q.MealID).ToList();

                    var meals_common = meals_model.Where(c => meals_db.Contains(c.MealID)).Select(q => q.MealID).ToList();

                    //mirret lista e itemsave nga db per qeto meals (vetem userat e ngjajshem)
                    var lista = db.USER_RATING.Where(q => meals_common.Contains(q.MealID)).ToList();

                    float Pearson_Score = 0;

                    //grupimi ne baze te userave
                    foreach (var item in lista.GroupBy(q => q.UserID))
                    {
                        List <int> item_in_corelation = new List <int>();

                        List <int> item_in_corelation_db = new List <int>();

                        //secili rating per meals te njejte te user i qasur dhe userave te tjere futet ne listat perkatese
                        foreach (var item1 in item)
                        {
                            var lista_userit = meals_model.Where(q => q.MealID == item1.MealID).FirstOrDefault();
                            if (lista_userit != null)
                            {
                                item_in_corelation.Add(lista_userit.RatingID);

                                item_in_corelation_db.Add(item1.RatingID);
                            }
                            else
                            {
                                break;
                            }
                        }
                        //kalkulohet pearson

                        Pearson_Score = Coleration(item_in_corelation, item_in_corelation_db, item_in_corelation.Count());

                        pearson_corelation.Add(new Pearson_Corelation {
                            UserID = item.Key, PearsonScore = Pearson_Score
                        });
                    }

                    //most similar scores;
                    var lista_perfundimtare = pearson_corelation.OrderByDescending(q => q.PearsonScore).Take(3).ToList();

                    Session["listaPerfundimtare"] = lista_perfundimtare;

                    Session["meals"] = meals_model.ToList();

                    //insertimi i te dhenave ne baze


                    foreach (var item in meals_model)
                    {
                        USER_RATING model = new USER_RATING();

                        var exist = db.USER_RATING.Any(q => q.MealID == item.MealID && q.UserID == user.ID);

                        var ratings = db.USER_RATING.Where(q => q.MealID == item.MealID && q.UserID == user.ID).ToList();

                        model.UserID = user.ID;

                        var average_rating = (item.RatingID + ratings.Sum(q => q.RatingID)) / (1 + ratings.Count());

                        model.RatingID = item.RatingID;

                        model.MealID = item.MealID;


                        if (!exist)
                        {
                            db.USER_RATING.Add(model);
                        }


                        await db.SaveChangesAsync();
                    }


                    returnmodel.Message = "Sukses";
                    returnmodel.Status  = true;
                    return(Json(returnmodel, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    returnmodel.Message = "Ka ndodhur nje gabim";
                    returnmodel.Status  = false;
                    return(Json(returnmodel, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(returnmodel, JsonRequestBehavior.AllowGet));
        }