示例#1
0
 /// <summary>
 /// counter soft
 /// </summary>
 /// <param name="userId"></param>
 /// <param name="equipCode"></param>
 /// <param name="date"></param>
 public void Logout(int userId, int equipCode, DateTime date)
 {
     using (db = new QMSSystemEntities())
     {
         var objs = db.Q_Login.Where(x => x.UserId == userId && x.EquipCode == equipCode && x.StatusId == (int)eStatus.LOGIN).ToList();
         if (objs.Count > 0)
         {
             foreach (var item in objs)
             {
                 item.LogoutTime = date;
                 item.StatusId   = (int)eStatus.LOGOUT;
                 db.Entry <Q_Login>(item).State = System.Data.Entity.EntityState.Modified;
             }
         }
         db.SaveChanges();
     }
 }
示例#2
0
 public bool Delete(string connectString, int Id)
 {
     using (var db = new QMSSystemEntities(connectString))
     {
         try
         {
             var file = db.Q_Video.Where(x => !x.IsDeleted).FirstOrDefault(x => x.Id == Id);
             file.IsDeleted = true;
             db.Entry <Q_Video>(file).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
             return(true);
         }
         catch (System.Exception e)
         {
         }
         return(false);
     }
 }
示例#3
0
        /// <summary>
        /// Đánh giá chất lượng phục vụ bằng counter
        /// </summary>
        /// <param name="equipCode">ma thiet bi</param>
        /// <param name="value">value đánh giá</param>
        /// <param name="system">hệ thống 1=> xe máy , 0 => khác </param>
        /// <returns></returns>

        public ResponseBaseModel DanhGia_BP(int equipCode, string value, int system)
        {
            var rs = new ResponseBaseModel();

            try
            {
                using (var db = new QMSSystemEntities())
                {
                    var login = db.Q_Login.FirstOrDefault(x => x.EquipCode == equipCode && x.StatusId == (int)eStatus.LOGIN);
                    if (login != null)
                    {
                        int tieuchi = 0;
                        int.TryParse(value.Substring((value.IndexOf('_') + 1)), out tieuchi);
                        bool sendSMS = db.Q_EvaluateDetail.FirstOrDefault(x => x.Id == tieuchi).IsSendSMS;

                        var now = DateTime.Now;
                        #region
                        var ticketInfos = db.Q_DailyRequire_Detail.Where(x => x.UserId == login.UserId && (x.StatusId == (int)eStatus.DANHGIA || x.StatusId == (int)eStatus.DAGXL)).ToList();
                        if (ticketInfos.Count > 0)
                        {
                            var firstObj = ticketInfos.FirstOrDefault();
                            IQueryable <Q_DailyRequire_Detail> details;
                            details = (from x in db.Q_DailyRequire_Detail
                                       where x.DailyRequireId == firstObj.DailyRequireId &&
                                       (x.StatusId == (int)eStatus.DANHGIA || x.StatusId == (int)eStatus.DAGXL) &&
                                       (system == 1 ? true : x.UserId == login.UserId)
                                       select x);

                            foreach (var item in details)
                            {
                                var obj = (from
                                           ue in db.Q_UserEvaluate
                                           where
                                           item.UserId == ue.UserId &&
                                           item.DailyRequireId == ue.Q_DailyRequire_Detail.DailyRequireId
                                           select ue).FirstOrDefault();
                                if (obj == null)
                                {
                                    db.Q_UserEvaluate.Add(new Q_UserEvaluate()
                                    {
                                        UserId           = item.UserId ?? 0,
                                        DailyRequireDeId = item.Id,
                                        Score            = value,
                                        SendSMS          = sendSMS,
                                        CreatedDate      = now
                                    });
                                }
                                var    config = db.Q_Config.FirstOrDefault(x => x.Code == eConfigCode.DoneTicketAfterEvaluate);
                                string doneTicketAfterEvaluate = "0";
                                if (config != null)
                                {
                                    doneTicketAfterEvaluate = config.Value;
                                }
                                if (item.StatusId != (int)eStatus.HOTAT && doneTicketAfterEvaluate == "1")
                                {
                                    item.StatusId       = (int)eStatus.HOTAT;
                                    item.EndProcessTime = now;
                                    db.Entry <Q_DailyRequire_Detail>(item).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                            db.SaveChanges();
                            rs.IsSuccess = true;
                        }
                        #endregion
                    }
                }
            }
            catch { }
            return(rs);
        }
示例#4
0
        public ResponseBaseModel Evaluate(string username, string value, int num, string isUseQMS)
        {
            var rs = new ResponseBaseModel();

            using (var db = new QMSSystemEntities())
            {
                var user = db.Q_User.FirstOrDefault(x => x.UserName.Trim().ToUpper().Equals(username.Trim().ToUpper()));
                if (user != null)
                {
                    int tieuchi = 0;
                    int.TryParse(value.Substring((value.IndexOf('_') + 1)), out tieuchi);
                    var  detail  = db.Q_EvaluateDetail.FirstOrDefault(x => x.Id == tieuchi);
                    bool sendSMS = detail.IsSendSMS;
                    var  now     = DateTime.Now;
                    var  system  = db.Q_Config.FirstOrDefault(x => x.IsActived && x.Code == eConfigCode.System).Value;

                    if (isUseQMS == "1")
                    {
                        #region
                        var ticketInfos = db.Q_DailyRequire_Detail.Where(x => x.Q_DailyRequire.TicketNumber == num && x.Q_User.UserName.Trim().ToUpper().Equals(username.Trim().ToUpper()) && (x.StatusId == (int)eStatus.DANHGIA || x.StatusId == (int)eStatus.DAGXL)).ToList();
                        if (ticketInfos.Count > 0)
                        {
                            var firstObj = ticketInfos.FirstOrDefault();
                            IQueryable <Q_DailyRequire_Detail> details;
                            details = (from x in db.Q_DailyRequire_Detail
                                       where x.DailyRequireId == firstObj.DailyRequireId &&
                                       (x.StatusId == (int)eStatus.DANHGIA || x.StatusId == (int)eStatus.DAGXL) &&
                                       (system == "1" ? true : x.UserId == user.Id)
                                       select x);

                            var    config = db.Q_Config.FirstOrDefault(x => x.Code == eConfigCode.DoneTicketAfterEvaluate);
                            string doneTicketAfterEvaluate = "0";
                            if (config != null)
                            {
                                doneTicketAfterEvaluate = config.Value;
                            }

                            foreach (var item in details)
                            {
                                var obj = (from
                                           ue in db.Q_UserEvaluate
                                           where
                                           item.UserId == ue.UserId &&
                                           item.DailyRequireId == ue.Q_DailyRequire_Detail.DailyRequireId
                                           select ue).FirstOrDefault();
                                if (obj == null)
                                {
                                    db.Q_UserEvaluate.Add(new Q_UserEvaluate()
                                    {
                                        UserId           = item.UserId ?? 0,
                                        DailyRequireDeId = item.Id,
                                        Score            = value,
                                        SendSMS          = sendSMS,
                                        CreatedDate      = now
                                    });
                                }

                                if (item.StatusId != (int)eStatus.HOTAT && doneTicketAfterEvaluate == "1")
                                {
                                    item.StatusId       = (int)eStatus.HOTAT;
                                    item.EndProcessTime = now;
                                    db.Entry <Q_DailyRequire_Detail>(item).State = System.Data.Entity.EntityState.Modified;
                                }
                            }
                            db.SaveChanges();
                            rs.IsSuccess = true;
                        }
                        #endregion
                    }
                    else
                    {
                        db.Q_UserEvaluate.Add(new Q_UserEvaluate()
                        {
                            UserId           = user.Id,
                            DailyRequireDeId = null,
                            Score            = value,
                            SendSMS          = sendSMS,
                            CreatedDate      = DateTime.Now
                        });
                        db.SaveChanges();
                        rs.IsSuccess = true;
                    }

                    if (sendSMS)
                    {
                        Q_CounterSoftRequire require;
                        string maNV   = user.Id.ToString();
                        var    phones = db.Q_RecieverSMS.Where(x => x.IsActive && x.UserIds.Contains(maNV)).ToList();
                        if (phones.Count > 0)
                        {
                            foreach (var item in phones)
                            {
                                if (item.UserIds.Split(',').ToArray().Contains(maNV) && item.PhoneNumber.Length > 0)
                                {
                                    require               = new Q_CounterSoftRequire();
                                    require.Content       = item.PhoneNumber + ":" + user.Name + "(" + user.UserName + ")" + " " + detail.SmsContent;
                                    require.TypeOfRequire = (int)eCounterSoftRequireType.SendSMS;
                                    db.Q_CounterSoftRequire.Add(require);
                                }
                                db.SaveChanges();
                            }
                        }
                    }
                }
            }
            return(rs);
        }