예제 #1
0
        public ActionResult GetDeviceInfo(DataSourceRequest command, DeviceFailureListModel model)
        {
            var HardwareItems = _hardwareService.GetAllHardware();
            var HardwareTypeItems = _hardwareService.GetAllHardwareTypes();

            var query1 = from hi in HardwareItems
                         join hti in HardwareTypeItems
                              on hi.Hardware_ID equals hti.Hardware_ID
                         where hi.Request_ID == model.DeliveryDeviceSerialNumber_ID && hi.DeliveryDate!=null
                         select new
                         {
                             hi.DeliveryDate,
                             hti.WarrantyPeriod
                         };

            var gridModel = new DataSourceResult
            {

                ExtraData = new DeviceFailureModel
                {
                     DeliveryDate = query1.FirstOrDefault().DeliveryDate,
                     WarrantyPeriod = query1.FirstOrDefault().WarrantyPeriod
                },
                Total = query1.Count()
            };

            return Json(gridModel);
        }
예제 #2
0
        //[CheckSession]
        public virtual ActionResult CustomerSearch(DataSourceRequest command, PreInvoiceListModel model)
        {
            try
            {
                if (string.IsNullOrEmpty(model.CustomerNameInSearch) && string.IsNullOrEmpty(model.MobileNo) && string.IsNullOrEmpty(model.SubscriptionCode) && string.IsNullOrEmpty(model.TelNo))
                {
                    var customer               = _customerService.GetAllCustomers(); //_hardwareService.SearchCustomers(model.CustomerNameInSearch, model.MobileNo, model.SubscriptionCode, model.TelNo);
                    var hardwareRequests       = _hardwareService.GetAllHardware();
                    var softwareRequests       = _softwareService.GetAllSoftware();
                    var softwareChangeRequests = _softwareService.GetAllSoftwareChange();

                    //var CustomerProductItems = _productService.GetAllCustomerProducts();

                    var query1 = from cus in customer
                                 join hr in hardwareRequests
                                 on cus.Customer_ID equals hr.Customer_ID
                                 where hr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        hr.Description,
                        hr.Amount
                    };

                    var query2 = from cus in customer
                                 join sr in softwareRequests
                                 on cus.Customer_ID equals sr.Customer_ID
                                 where sr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        sr.Description,
                        sr.Amount
                    };

                    var query3 = from cus in customer
                                 join scr in softwareRequests
                                 on cus.Customer_ID equals scr.Customer_ID
                                 where scr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        scr.Description,
                        scr.Amount
                    };



                    var gridModel = new DataSourceResult
                    {
                        Data = query1.Select(x => new PreInvoiceModel
                        {
                            Customer_ID          = x.Customer_ID,
                            CustomerNameInSearch = x.CustomerName,
                            ReqType = "خرید سخت‌افزار‌",
                            Amount  = x.Amount.ToString(),
                            ReqDesc = x.Description
                        }).Concat(query2.Select(y => new PreInvoiceModel
                        {
                            Customer_ID          = y.Customer_ID,
                            CustomerNameInSearch = y.CustomerName,
                            ReqType = "خرید نرم‌افزار‌",
                            Amount  = y.Amount.ToString(),
                            ReqDesc = y.Description
                        }).Concat(query3.Select(z => new PreInvoiceModel
                        {
                            Customer_ID          = z.Customer_ID,
                            CustomerNameInSearch = z.CustomerName,
                            ReqType = "تغییر نرم‌افزار‌",
                            Amount  = z.Amount.ToString(),
                            ReqDesc = z.Description
                        }))),
                        Total = query1.Count() + query2.Count() + query3.Count()
                    };

                    return(Json(gridModel));
                }
                else
                {
                    //var UserItems = _groupService.SearchCustomer(model.GroupName, model.Description);
                    var customer               = _hardwareService.SearchCustomers(model.CustomerNameInSearch, model.MobileNo, model.SubscriptionCode, model.TelNo);
                    var hardwareRequests       = _hardwareService.GetHardwareOfCusomer(customer.FirstOrDefault().Customer_ID);
                    var softwareRequests       = _softwareService.GetSoftwareOfCusomer(customer.FirstOrDefault().Customer_ID);
                    var softwareChangeRequests = _softwareService.GetSoftwareChangeOfCusomer(customer.FirstOrDefault().Customer_ID);

                    //var CustomerProductItems = _productService.GetAllCustomerProducts();

                    var query1 = from cus in customer
                                 join hr in hardwareRequests
                                 on cus.Customer_ID equals hr.Customer_ID
                                 where hr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        hr.Description,
                        hr.Amount
                    };

                    var query2 = from cus in customer
                                 join sr in softwareRequests
                                 on cus.Customer_ID equals sr.Customer_ID
                                 where sr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        sr.Description,
                        sr.Amount
                    };

                    var query3 = from cus in customer
                                 join scr in softwareRequests
                                 on cus.Customer_ID equals scr.Customer_ID
                                 where scr.Status.Equals(0)
                                 select new
                    {
                        cus.Customer_ID,
                        cus.CustomerName,
                        scr.Description,
                        scr.Amount
                    };



                    var gridModel = new DataSourceResult
                    {
                        Data = query1.Select(x => new PreInvoiceModel
                        {
                            Customer_ID          = x.Customer_ID,
                            CustomerNameInSearch = x.CustomerName,
                            ReqType = "خرید سخت‌افزار‌",
                            Amount  = x.Amount.ToString(),
                            ReqDesc = x.Description
                        }).Concat(query2.Select(y => new PreInvoiceModel
                        {
                            Customer_ID          = y.Customer_ID,
                            CustomerNameInSearch = y.CustomerName,
                            ReqType = "خرید نرم‌افزار‌",
                            Amount  = y.Amount.ToString(),
                            ReqDesc = y.Description
                        }).Concat(query3.Select(z => new PreInvoiceModel
                        {
                            Customer_ID          = z.Customer_ID,
                            CustomerNameInSearch = z.CustomerName,
                            ReqType = "تغییر نرم‌افزار‌",
                            Amount  = z.Amount.ToString(),
                            ReqDesc = z.Description
                        }))),
                        Total = query1.Count() + query2.Count() + query3.Count()
                    };

                    return(Json(gridModel));
                }
            }
            catch (Exception ex)
            {
                List <PreInvoiceModel> emptylist = new List <PreInvoiceModel>();
                return(Json(new DataSourceResult()
                {
                    Data = emptylist, Total = 0
                }));
            }
        }