Exemplo n.º 1
0
        public static string AddNotice(string Noticetstr)
        {
            string str = string.Empty;

            try
            {
                AchieveDBEntities      myDbContext = new AchieveDBEntities();
                NoticeModel            tb          = JsonConvert.DeserializeObject <NoticeModel>(Noticetstr);
                string                 Code        = Guid.NewGuid().ToString();
                string                 BillNo      = BillNoBill.GetBillNo(myDbContext, "TZ");
                tbNotice               main        = tb.Main;
                List <NoticeUserModel> item        = tb.Item;
                main.CreateTime = DateTime.Now;
                main.UpdateTime = DateTime.Now;
                main.NoticeTime = DateTime.Now;
                main.status     = 0;
                main.Code       = Code;
                main.No         = BillNo;
                if (item != null && item.Count > 0)
                {
                    foreach (var st in item)
                    {
                        st.NoticeCode = Code;
                        st.SendFlag   = 0;
                        st.UpdateTime = DateTime.Now;
                        st.CreateTime = DateTime.Now;
                    }
                }

                myDbContext.tbNotice.Add(main);
                foreach (var st in item)
                {
                    tbNoticeUser temp = new tbNoticeUser();
                    string[]     keys = { "id" };
                    ObjectHelper.CopyValueNotKey(st, temp, keys);
                    myDbContext.tbNoticeUser.Add(temp);
                }
                myDbContext.SaveChanges();
                str = ResponseHelper.ResponseMsg("1", "保存成功", Code);
            }
            catch (Exception ex)
            {
                str = ResponseHelper.ResponseMsg("-1", ex.Message, "");
            }

            return(str);
        }
Exemplo n.º 2
0
        public static string UpdateNotice(string Noticetstr)
        {
            string str = string.Empty;

            try
            {
                NoticeModel tb = JsonConvert.DeserializeObject <NoticeModel>(Noticetstr);

                tbNotice main = tb.Main;
                List <NoticeUserModel> item = tb.Item;

                main.UpdateTime = DateTime.Now;
                main.status     = 0;

                if (item != null && item.Count > 0)
                {
                    foreach (var st in item)
                    {
                        st.UpdateTime = DateTime.Now;
                    }
                }
                AchieveDBEntities myDbContext = new AchieveDBEntities();
                tbNotice          mainDb      = myDbContext.tbNotice.Where(p => p.Code == main.Code).ToList().FirstOrDefault();
                string[]          keys        = { "Code" };
                ObjectHelper.CopyValueNotKey(main, mainDb, keys);
                if (item != null && item.Count > 0)
                {
                    int?[] UserIds = new int?[item.Count];
                    int    count   = 0;
                    foreach (var st in item)
                    {
                        UserIds[count] = st.UserId;
                        count++;
                        tbNoticeUser temp = myDbContext.tbNoticeUser.Where(p => p.UserId == st.UserId && p.NoticeCode == main.Code).ToList().FirstOrDefault();
                        keys[0] = "id";
                        if (temp != null)
                        {
                            // st.NoticeCode = main.Code;
                            //ObjectHelper.CopyValueNotKey(st, temp, keys);
                        }
                        else
                        {
                            tbNoticeUser newtemp = new tbNoticeUser();
                            ObjectHelper.CopyValueNotKey(st, newtemp, keys);
                            newtemp.NoticeCode = main.Code;
                            myDbContext.tbNoticeUser.Add(newtemp);
                        }
                    }

                    List <tbNoticeUser> tempList = myDbContext.tbNoticeUser.Where(p => !(UserIds).Contains(p.UserId) && p.NoticeCode == main.Code).ToList();
                    if (tempList != null && tempList.Count > 0)
                    {
                        foreach (var st in  tempList)
                        {
                            myDbContext.tbNoticeUser.Remove(st);
                        }
                    }
                }
                myDbContext.SaveChanges();
                str = ResponseHelper.ResponseMsg("1", "保存成功", main.Code);
            }
            catch (Exception ex)
            {
                str = ResponseHelper.ResponseMsg("-1", ex.Message, "");
            }

            return(str);
        }