Exemple #1
0
        public ActionResult GetConfirmImageFile(int pid)
        {
            ConfirmPhoto p = db.ConfirmPhoto.Where(n => n.Id == pid).FirstOrDefault();

            if (p.Photo != null && p.Photo.Length > 2)
            {
                byte[] img = p.Photo;
                return(File(img, "image/jpg"));
            }
            else
            {
                return(File("~/Images/defaultUser.png", "image/png"));
            }
        }
Exemple #2
0
        public PartialViewResult ChangeUserPersonData(ProcedureGetUserData_Result modal, HttpPostedFileBase Photo)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(modal));
            }

            AspNetUsers user = db.AspNetUsers.Find(User.Identity.GetUserId());

            user.Country        = modal.Country;
            user.MailingAddress = modal.MailingAddress;
            user.PhoneNumber    = modal.PhoneNumber;
            user.Telephone      = modal.Telephone;
            string result = "";

            if (Photo != null)
            {
                //檢查員工
                if (cm.checkIsEmployee(User.Identity.GetUserName()))
                {
                    //檢查權限更新頭像的權限ID為1
                    if (cm.checkHasPower(User.Identity.GetUserName(), 1))
                    {
                        byte[] Tmpphotobytes = new byte[Photo.InputStream.Length];
                        Photo.InputStream.Read(Tmpphotobytes, 0, Tmpphotobytes.Length);
                        ConfirmPhoto cp = new ConfirmPhoto
                        {
                            Photo = Tmpphotobytes
                        };
                        db.ConfirmPhoto.Add(cp);
                        db.SaveChanges();

                        //檢查覆核
                        string userUserName       = User.Identity.GetUserName();
                        string userName           = User.Identity.Name;
                        string confirmDescription = "";
                        confirmDescription += "<div style='border:1px solid black;margin: 2px'>";
                        confirmDescription += "<p>欲更新頭像:</p>";
                        confirmDescription += "<div style='border:1px solid black;margin: 2px'>";
                        confirmDescription += "<img src='" + Url.Action("GetConfirmImageFile", "Manage", new { area = "" }) + "?pid=" + cp.Id + "' style='height:200px;width:200px;border-radius:50%'/>";

                        confirmDescription += "</div>";
                        confirmDescription += "</div>";
                        int?   outurpchSn;
                        string ckConfirm = cm.checkNeedConfirm(out outurpchSn, User.Identity.GetUserName(), 1, Url.Action("UserConfirmUserPower", "ConfirmUserPower", new { area = "" }), confirmDescription);
                        //string ckConfirm = "";
                        if (ckConfirm == "")
                        {
                            //byte[] photobytes = new byte[Photo.InputStream.Length];
                            //Photo.InputStream.Read(photobytes, 0, photobytes.Length);
                            user.Photo = Tmpphotobytes;
                        }
                        else
                        {
                            result = ckConfirm;
                            //string base64 = Convert.ToBase64String(bytes);
                            //byte[] bytes = Convert.FromBase64String(base64);
                            if (outurpchSn.HasValue)
                            {
                                //byte[] photobytes = new byte[Photo.InputStream.Length];
                                //Photo.InputStream.Read(photobytes, 0, photobytes.Length);
                                //string PhotoByteStr = Convert.ToBase64String(photobytes);
                                StringBuilder PhotoByteStr = new StringBuilder();
                                foreach (byte pbtmp in Tmpphotobytes)
                                {
                                    StringBuilder ppptmp = new StringBuilder();
                                    ppptmp.Append(pbtmp);
                                    ppptmp.Append(",");
                                    PhotoByteStr.Append(ppptmp.ToString());
                                }

                                string tableName1          = "";
                                string primaryColumnName1  = "";
                                string primaryColumnValue1 = "";
                                SaveExecConfirmDataModelActionEnum execAction1;
                                string primaryColumnType1 = "";

                                List <SaveExecConfirmDataModel> cecdm2 = new List <SaveExecConfirmDataModel>();

                                tableName1          = "AspNetUsers";
                                primaryColumnName1  = "Id";
                                primaryColumnValue1 = User.Identity.GetUserId();
                                execAction1         = SaveExecConfirmDataModelActionEnum.Update;
                                primaryColumnType1  = "string";
                                List <string> cColumnName  = new List <string>();
                                List <string> cColumnValue = new List <string>();
                                List <string> cColumnType  = new List <string>();
                                cColumnName.Add("Photo");
                                cColumnValue.Add(PhotoByteStr.ToString());
                                cColumnType.Add("Byte[]");

                                SaveExecConfirmDataModel cecdm1 = new SaveExecConfirmDataModel
                                {
                                    urpchSn            = outurpchSn.Value,
                                    tableName          = tableName1,
                                    primaryColumnName  = primaryColumnName1,
                                    primaryColumnValue = primaryColumnValue1,
                                    primaryColumnType  = primaryColumnType1,
                                    execAction         = execAction1,
                                    cColumnName        = cColumnName,
                                    cColumnValue       = cColumnValue,
                                    cColumnType        = cColumnType
                                };
                                cm.SaveExecConfirmData(cecdm1);
                            }
                        }
                    }
                    else
                    {
                        result = "沒有權限";
                    }
                }
                else
                {
                    byte[] photobytes = new byte[Photo.InputStream.Length];
                    Photo.InputStream.Read(photobytes, 0, photobytes.Length);
                    user.Photo = photobytes;
                }
            }
            db.SaveChanges();
            //dbUser.UpdateWithoutNull(user);
            if (db.IsEmployee.Find(User.Identity.GetUserName()) != null)
            {
                ViewBag.AccountType = "員工";
            }
            else
            {
                ViewBag.AccountType = "會員";
            }
            var userdata = db.ProcedureGetUserData(User.Identity.GetUserId()).First();

            if (result != "")
            {
                TempData["AlertConfirm"] = result;
            }

            return(PartialView(userdata));
        }