Beispiel #1
0
        public List <LogExtentedModel> GetRequestOfCustomer(string customer)
        {
            //lay list request co cung requestcode
            var myList          = Current.Table.ToList();
            var getRequestCodes = myList.GroupBy(x => x.RequestCode).Select(y => y.First()).ToList();
            var list            = new List <LogExtentedModel>();

            for (int i = 0; i < getRequestCodes.Count; i++)
            {
                var requestCode = getRequestCodes[i].RequestCode;

                var allStatusOfRequest = from sr in Current.Table
                                         join rt in TypeOfLogDAO.Current.Table
                                         on sr.TypeOfLog equals rt.TypeCode into srt
                                         from subsrt in srt.DefaultIfEmpty()
                                         join st in StatusDAO.Current.Table
                                         on sr.ObjectStatus equals st.StatusCode into sstr
                                         from subsstr in sstr.DefaultIfEmpty()
                                         join r in RequestDAO.Current.Table
                                         on sr.RequestCode equals r.RequestCode into ssr
                                         from subssr in ssr.DefaultIfEmpty()
                                         where sr.RequestCode == requestCode && sr.Object == Constants.Object.OBJECT_REQUEST &&
                                         subssr.Customer == customer
                                         orderby sr.LogTime descending
                                         select new LogExtentedModel()
                {
                    LogTime     = sr.LogTime,
                    StatusName  = subsstr.StatusName,
                    TypeOfLog   = subsrt.TypeCode,
                    RequestCode = sr.RequestCode,
                    Customer    = subssr.Customer,
                    StatusCode  = subsstr.StatusCode,
                };
                if (allStatusOfRequest.Any())
                {
                    var requests = ParseTypeLogToRequestType(allStatusOfRequest.ToList());
                    var newest   = requests.First();
                    var request  = new LogExtentedModel();
                    var others   = new List <LogExtentedModel>();
                    request.LastestStatusRequest = newest;
                    if (requests.Count() > 1)
                    {
                        others = requests.ToList();
                        others.RemoveAt(0);
                        request.OldStatusRequests = others.ToList();
                    }
                    else
                    {
                        request.OldStatusRequests = null;
                    }
                    list.Add(request);
                }
            }
            return(list);
            //return RawQuery<RequestExtendedModel>(query, new object[] { });
        }
Beispiel #2
0
        public LogExtentedModel RequestDetailsReturnRack(string requestCode)
        {
            LogExtentedModel data = new LogExtentedModel();
            var query             = from l in LogDAO.Current.Table
                                    where l.RequestCode == requestCode && l.Object == Constants.Object.OBJECT_RACKOFCUSTOMER &&
                                    l.ObjectStatus == Constants.StatusCode.RACKOFCUSTOMER_RETURNING
                                    select l.ChangedValueOfObject;

            data.listRacks = query.ToList();
            return(data);
        }
Beispiel #3
0
        public LogExtentedModel RequestDetailsBringServerAway(string requestCode)
        {
            LogExtentedModel           data = new LogExtentedModel();
            List <ServerExtendedModel> list = new List <ServerExtendedModel>();
            //list server
            var listServers = GetLogInfoByRequestCode(requestCode, Constants.Object.OBJECT_SERVER)
                              .Where(x => x.ObjectStatus == Constants.StatusCode.SERVER_BRINGING_AWAY).Select(x => x.ChangedValueOfObject);
            var servers = from s in listServers
                          select new ServerExtendedModel()
            {
                ServerCode = s
            };

            data.ReturnServerNumber = listServers.ToList().Count();
            foreach (var item in servers)
            {
                ServerExtendedModel s = new ServerExtendedModel();
                s.ServerCode = item.ServerCode;
                //list serverips
                var listServerIps = GetLogInfoByRequestCode(requestCode, Constants.Object.OBJECT_SERVERIP)
                                    .Where(x => x.ObjectStatus == Constants.StatusCode.SERVERIP_RETURNING && x.ServerCode == s.ServerCode)
                                    .Select(x => x.ChangedValueOfObject);
                var ips = from i in listServerIps
                          select new ServerIP
                {
                    CurrentIP = i
                };
                s.ServerIps         = ips.ToList();
                data.ReturnIpNumber = data.ReturnIpNumber + listServerIps.ToList().Count();

                //list serverLocation
                var listServerLocation = GetLogInfoByRequestCode(requestCode, Constants.Object.OBJECT_LOCATION)
                                         .Where(x => x.ObjectStatus == Constants.StatusCode.LOCATION_USED && x.ServerCode == item.ServerCode)
                                         .Select(x => x.ChangedValueOfObject);
                s.locations = listServerLocation.ToList();
                data.ReturnLocationNumber = data.ReturnLocationNumber + listServerLocation.ToList().Count();
                list.Add(s);
            }
            data.Servers = list;
            return(data);
        }
Beispiel #4
0
        public List <LogExtentedModel> GetAllRequest()
        {
            //lay list request co cung requestcode
            var myList          = Current.Table.ToList();
            var getRequestCodes = myList.GroupBy(x => x.RequestCode).Select(y => y.First()).ToList();
            var list            = new List <LogExtentedModel>();

            for (int i = 0; i < getRequestCodes.Count; i++)
            {
                var requestCode = getRequestCodes[i].RequestCode;

                var allStatusOfRequest = from sr in Current.Table
                                         join rt in TypeOfLogDAO.Current.Table
                                         on sr.TypeOfLog equals rt.TypeCode into srt
                                         from subsrt in srt.DefaultIfEmpty()
                                         join st in StatusDAO.Current.Table
                                         on sr.ObjectStatus equals st.StatusCode into sstr
                                         from subsstr in sstr.DefaultIfEmpty()
                                         join r in RequestDAO.Current.Table
                                         on sr.RequestCode equals r.RequestCode into ssr
                                         from subssr in ssr.DefaultIfEmpty()
                                         where sr.RequestCode == requestCode && sr.Object == Constants.Object.OBJECT_REQUEST
                                         orderby sr.LogTime descending
                                         select new LogExtentedModel()
                {
                    LogTime       = sr.LogTime,
                    StatusName    = subsstr.StatusName,
                    TypeOfLog     = subsrt.TypeCode,
                    RequestCode   = sr.RequestCode,
                    Customer      = subssr.Customer,
                    StatusCode    = subsstr.StatusCode,
                    RequestedTime = subssr.RequestedTime
                };
                if (allStatusOfRequest.Any())
                {
                    var allrequests = new List <LogExtentedModel>();
                    foreach (var item in allStatusOfRequest)
                    {
                        var cus = AccountDAO.Current.GetByKeys(new Account {
                            Username = item.Customer
                        });
                        item.CustomerName = cus.Fullname;
                        allrequests.Add(item);
                    }
                    var requests = ParseTypeLogToRequestType(allrequests.ToList());
                    var newest   = requests.First();
                    var request  = new LogExtentedModel();
                    var others   = new List <LogExtentedModel>();
                    request.LastestStatusRequest = newest;
                    if (requests.Count() > 1)
                    {
                        others = requests.ToList();
                        others.RemoveAt(0);
                        request.OldStatusRequests = others.ToList();
                    }
                    else
                    {
                        request.OldStatusRequests = null;
                    }
                    list.Add(request);
                }
            }
            return(list);
        }