public ActionResult Edit(EditKindergartenViewModel model, string content)
        {
            if (User.Identity.IsAuthenticated && ((User.IsInRole("Administrator") && (model.Id == User.Identity.GetUserId())) || User.IsInRole("Admin")))
            {
                if (ModelState.IsValid)
                {
                    content = content.Replace("$ENTER$", "\r\n");
                    List <DescriptionBlock> descriptionBlocks = new List <DescriptionBlock> {
                    };
                    List <string> blocks = content.Split(new string[] { "$EDGE$" }, StringSplitOptions.None).ToList();
                    List <string> temp;
                    for (int i = 0; i < blocks.Count; i++)
                    {
                        temp = blocks[i].Split(new string[] { "$SLASH$" }, StringSplitOptions.None).ToList();
                        switch (temp[0])
                        {
                        case "text":
                            descriptionBlocks.Add(new DescriptionBlockText {
                                KindergartenId = model.Id, Header = temp[1], Body = temp[2]
                            });
                            break;

                        case "text-image":
                            descriptionBlocks.Add(new DescriptionBlockTextImage {
                                KindergartenId = model.Id, Image = temp[1], Header = temp[2], Body = temp[3]
                            });
                            break;
                        }
                    }
                    KindergartenManager.EditKindergarten(descriptionBlocks, model.Id, Server, model);
                    return(RedirectToAction("KindergartenProfile", "Kindergarten", new { id = model.Id }));
                }
                else
                {
                    return(View(model));
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult Edit(string id)
 {
     if (User.Identity.IsAuthenticated && ((User.IsInRole("Administrator") && (id == User.Identity.GetUserId())) || User.IsInRole("Admin")))
     {
         try
         {
             Kindergarten Kindergarten = KindergartenManager.GetKindergartenById(id);
             if (Kindergarten == null)
             {
                 throw new Exception();
             }
             try
             {
                 string PictureUID = KindergartenManager.GetPictureUIDById(id);
                 if (PictureUID == null)
                 {
                     throw new Exception();
                 }
                 ViewBag.Picture = "/Images/Uploaded/Source/" + PictureUID;
             }
             catch (Exception)
             {
                 ViewBag.Picture = "/Images/Default/anonymKindergarten.jpg";
             }
             List <DescriptionBlock>   descriptionBlocks = KindergartenManager.GetDescriptionBlocksById(id);
             EditKindergartenViewModel model             = new EditKindergartenViewModel {
                 Id = id, Name = Kindergarten.Name, DescriptionBlocks = descriptionBlocks
             };
             return(View(model));
         }
         catch (Exception)
         {
             return(RedirectToAction("Index", "Home"));
         }
     }
     return(RedirectToAction("Index", "Home"));
 }
Ejemplo n.º 3
0
        public void EditKindergarten(List <DescriptionBlock> descriptionBlocks, string userId, HttpServerUtilityBase server, EditKindergartenViewModel model)
        {
            Kindergarten Kindergarten = db.Kindergartens.Where(k => k.Id == userId).First();

            Kindergarten.Name = model.Name;
            if (model.PictureName != null && model.PictureName != "default")
            {
                KindergartenClaim KindergartenClaim;
                try
                {
                    KindergartenClaim = db.KindergartenClaims.Where(kc => kc.KindergartenId == userId && kc.ClaimType.Type == "Picture").First();
                    string previosClaimValue = KindergartenClaim.ClaimValue;
                    KindergartenClaim.ClaimValue = model.PictureName;
                    System.IO.File.Copy(server.MapPath("~/Images/Uploaded/Temp/" + model.PictureName), server.MapPath("~/Images/Uploaded/Source/" + model.PictureName));
                    System.IO.File.Delete(server.MapPath("~/Images/Uploaded/Temp/" + model.PictureName));
                    System.IO.File.Delete(server.MapPath("~/Images/Uploaded/Source/" + previosClaimValue));
                }
                catch (Exception)
                {
                    AddPictureClaim(userId, model.PictureName, server);
                }
            }
            else if (model.PictureName == "default")
            {
                try
                {
                    KindergartenClaim KindergartenClaim = db.KindergartenClaims.Where(kc => kc.KindergartenId == userId && kc.ClaimType.Type == "Picture").First();
                    System.IO.File.Delete(server.MapPath("~/Images/Uploaded/Source/" + KindergartenClaim.ClaimValue));
                    db.KindergartenClaims.Remove(KindergartenClaim);
                }
                catch (Exception) { }
            }
            ChangeDescriptionBlocks(descriptionBlocks, userId, server);
        }