Exemplo n.º 1
0
        /// <summary>
        /// 更新某个收货商信息对象.
        /// </summary>
        /// <param name="rec">收货商对象.</param>
        /// <returns>通过布尔类型判断操作是否成功.</returns>
        public bool updateReceiver(Model.Receiver rec)
        {
            string sqltext               = "update receiver set receiverName=@receiverName,staffName=@staffName,contact=@contact,contactNumber=@contactNumber,receiverAddress=@receiverAddress,createTime=@createTime,updateTime=@updateTime where receiverNum=@receiverNum";
            List <SqlParameter> para     = new List <SqlParameter>();
            SqlParameter        sqlpara1 = new SqlParameter("@receiverNum", rec.ReceiverNum);
            SqlParameter        sqlpara2 = new SqlParameter("@receiverName", rec.ReceiverName);
            SqlParameter        sqlpara3 = new SqlParameter("@staffName", rec.StaffName);
            SqlParameter        sqlpara4 = new SqlParameter("@contact", rec.Contact);
            SqlParameter        sqlpara5 = new SqlParameter("@contactNumber", rec.ContactNumber);
            SqlParameter        sqlpara6 = new SqlParameter("@receiverAddress", rec.ReceiverAddress);
            SqlParameter        sqlpara7 = new SqlParameter("@createTime", rec.CreateTime.ToString());
            SqlParameter        sqlpara8 = new SqlParameter("@updateTime", rec.UpdateTime.ToString());

            para.Add(sqlpara2);
            para.Add(sqlpara3);
            para.Add(sqlpara4);
            para.Add(sqlpara5);
            para.Add(sqlpara6);
            para.Add(sqlpara7);
            para.Add(sqlpara8);
            para.Add(sqlpara1);
            int i = DBTools.exenonquerySQL(sqltext, para);

            if (i == 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 2
0
        public Message SendAnswerMessage(Message message, string receivers)
        {
            List <Nimbus.Model.Receiver> listReceiver = new List <Nimbus.Model.Receiver>();

            if (!string.IsNullOrEmpty(receivers))
            {
                using (var db = DatabaseFactory.OpenDbConnection())
                {
                    Nimbus.Model.Receiver receiver = new Model.Receiver();
                    var listIds = System.Web.Helpers.Json.Decode(receivers);

                    foreach (var item in listIds)
                    {
                        int id   = Convert.ToInt32(item);
                        var user = db.SelectParam <User>(u => u.Id == id).FirstOrDefault();
                        if (user != null)
                        {
                            receiver.IsOwner   = true; //a msg é enviada para o perfil, logo não importa esse item
                            receiver.UserId    = user.Id;
                            receiver.Name      = user.FirstName + " " + user.LastName;
                            receiver.AvatarUrl = user.AvatarUrl;
                            listReceiver.Add(receiver);
                        }
                    }
                }
            }
            return(SendMessageToList(message, listReceiver));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据编号,获取某个收货商.
        /// </summary>
        /// <returns>收货商对象</returns>
        public Model.Receiver getReceiverByNum(string recenum)
        {
            Model.Receiver      rece     = null;
            string              sqltext  = "select * from receiver where receiverNum=@receiverNum";
            List <SqlParameter> para     = new List <SqlParameter>();
            SqlParameter        sqlpara1 = new SqlParameter("@receiverNum", recenum);

            para.Add(sqlpara1);
            SqlDataReader sdr = DBTools.exereaderSQL(sqltext, para);

            while (sdr.Read())
            {
                rece                 = new Model.Receiver();
                rece.ReceiverNum     = sdr["receiverNum"].ToString();
                rece.ReceiverName    = sdr["receiverName"].ToString();
                rece.StaffName       = sdr["staffName"].ToString();
                rece.Contact         = sdr["contact"].ToString();
                rece.ContactNumber   = sdr["contactNumber"].ToString();
                rece.ReceiverAddress = sdr["receiverAddress"].ToString();
                rece.CreateTime      = DateTime.Parse(sdr["createTime"].ToString());
                rece.UpdateTime      = DateTime.Parse(sdr["updateTime"].ToString());
            }
            sdr.Close();
            DBTools.DBClose();
            return(rece);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 是否有某个名称的收货商.
        /// </summary>
        /// <param name="nname">收货商名称</param>
        /// <returns>如果有,则返回True;如果没有,则返回False.</returns>
        public bool hasReceiverOfName(string nname)
        {
            Model.Receiver      rece     = new Model.Receiver();
            string              sqltext  = "select * from receiver where receiverName=@receiverName";
            List <SqlParameter> para     = new List <SqlParameter>();
            SqlParameter        sqlpara1 = new SqlParameter("@receiverName", nname);

            para.Add(sqlpara1);
            SqlDataReader sdr = DBTools.exereaderSQL(sqltext, para);

            while (sdr.Read())
            {
                sdr.Close();
                DBTools.DBClose();
                return(true);
            }
            return(false);
        }
Exemplo n.º 5
0
        public Message SendMessageUser(Message message, int id)
        {
            List <Nimbus.Model.Receiver> listReceiver = new List <Nimbus.Model.Receiver>();

            if (id != 0)
            {
                using (var db = DatabaseFactory.OpenDbConnection())
                {
                    Nimbus.Model.Receiver receiver = new Model.Receiver();
                    var user = db.SelectParam <User>(u => u.Id == id).FirstOrDefault();
                    if (user != null)
                    {
                        receiver.IsOwner   = true; //a msg é enviada para o perfil, logo não importa esse item
                        receiver.UserId    = id;
                        receiver.Name      = user.FirstName + " " + user.LastName;
                        receiver.AvatarUrl = user.AvatarUrl;

                        listReceiver.Add(receiver);
                    }
                }
            }
            return(SendMessageToList(message, listReceiver));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 获取所有的收货商对象.
        /// </summary>
        /// <returns>所有收货商对象的泛型集合.</returns>
        public List <Model.Receiver> getAllReceivers()
        {
            List <Model.Receiver> rece = new List <Model.Receiver>();
            string        sqltext      = "select * from receiver";
            SqlDataReader sdr          = DBTools.exereaderSQL(sqltext, new List <SqlParameter> ());

            while (sdr.Read())
            {
                Model.Receiver r = new Model.Receiver();
                r.ReceiverNum     = sdr["receiverNum"].ToString();
                r.ReceiverName    = sdr["receiverName"].ToString();
                r.StaffName       = sdr["staffName"].ToString();
                r.Contact         = sdr["contact"].ToString();
                r.ContactNumber   = sdr["contactNumber"].ToString();
                r.ReceiverAddress = sdr["receiverAddress"].ToString();
                r.CreateTime      = DateTime.Parse(sdr["createTime"].ToString());
                r.UpdateTime      = DateTime.Parse(sdr["updateTime"].ToString());
                rece.Add(r);
            }
            sdr.Close();
            DBTools.DBClose();
            return(rece);
        }
Exemplo n.º 7
0
        public Message SendMessageChannel(Message message)
        {
            //Lembrar: se owner = true, quando mostrar na view colocar: Nimbus
            List <Nimbus.Model.Receiver> listReceiver = new List <Model.Receiver>();

            using (var db = DatabaseFactory.OpenDbConnection())
            {
                var roles = db.SelectParam <Role>(r => r.ChannelId == message.ChannelId && (r.MessageManager == true || r.ChannelMagager == true || r.IsOwner == true));

                //add todos os destinatarios dono + moderadores do canal
                foreach (var item in roles)
                {
                    Nimbus.Model.Receiver receiver = new Model.Receiver();
                    var user = db.SelectParam <User>(u => u.Id == item.UserId).FirstOrDefault();
                    receiver.IsOwner   = item.IsOwner;
                    receiver.UserId    = item.UserId;
                    receiver.Name      = user.FirstName + " " + user.LastName;
                    receiver.AvatarUrl = user.AvatarUrl;

                    listReceiver.Add(receiver);
                }
            }
            return(SendMessageToList(message, listReceiver));
        }
Exemplo n.º 8
0
        internal Message SendMessageToList(Message message, List <Model.Receiver> listReceiver)
        {
            using (var db = DatabaseFactory.OpenDbConnection())
            {
                using (var trans = db.OpenTransaction(System.Data.IsolationLevel.ReadCommitted))
                {
                    try
                    {
                        //add a msg para o 'sender'
                        Nimbus.Model.Receiver sender = new Model.Receiver();

                        sender.IsOwner = db.SelectParam <Role>(r => r.ChannelId == message.ChannelId && r.UserId == NimbusUser.UserId)
                                         .Select(c => c.IsOwner).FirstOrDefault();
                        sender.UserId    = NimbusUser.UserId;
                        sender.Name      = NimbusUser.FirstName + " " + NimbusUser.LastName;
                        sender.AvatarUrl = NimbusUser.AvatarUrl;
                        listReceiver.Add(sender);

                        //add a  msg
                        Message dadosMsg = new Message
                        {
                            SenderId  = message.SenderId > 0 ? message.SenderId : NimbusUser.UserId,
                            ChannelId = message.ChannelId,
                            Date      = DateTime.Now,
                            Text      = message.Text,
                            Title     = message.Title,
                            Visible   = true,
                            Receivers = listReceiver
                        };
                        db.Save(dadosMsg);

                        int idMesg = (int)db.GetLastInsertId();
                        message.Id  = idMesg;
                        dadosMsg.Id = idMesg;

                        foreach (var item in listReceiver.Distinct())
                        {
                            if (item.UserId == NimbusUser.UserId && dadosMsg.SenderId == NimbusUser.UserId) //qm está enviando: garante que mesmo que ele envie msg para ele mesmo,
                                                                                                            //tera apenas uma cópia em enviadas e apenas uma em 'recebidas'
                            {
                                db.Insert(new ReceiverMessage
                                {
                                    IsOwner        = item.IsOwner,
                                    MessageId      = idMesg,
                                    UserId         = item.UserId,
                                    NameUser       = item.Name,
                                    UserReadStatus = true,
                                    Visible        = true,
                                    Status         = Nimbus.Model.Enums.MessageType.send
                                });
                            }
                            else
                            { //qm vai receber
                                db.Insert(new ReceiverMessage
                                {
                                    IsOwner        = item.IsOwner,
                                    MessageId      = idMesg,
                                    UserId         = item.UserId,
                                    NameUser       = item.Name,
                                    UserReadStatus = false,
                                    Visible        = true,
                                    Status         = Nimbus.Model.Enums.MessageType.received
                                });
                            }
                        }
                        trans.Commit();

                        //Notificação
                        var notification = new Notifications.MessageNotification();
                        Task.Run(() => notification.NewMessage(dadosMsg));
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }

            return(message);
        }
Exemplo n.º 9
0
 /// <summary>
 /// 更新某个收货商的信息.
 /// </summary>
 /// <param name="rec">收货商对象</param>
 /// <returns>通过布尔类型判断操作是否成功.</returns>
 public bool updateReceiver(Model.Receiver rec)
 {
     throw new System.NotImplementedException();
 }