예제 #1
0
        public ActionResult ServiceRequest(ServiceRequestViewModel model, string returnUrl)
        {
            string mailBody = string.Empty;

            if (ModelState.IsValid)
            {
                try
                {
                    _IServiceRequestService.SaveServiceRequests(model);
                    ServiceRequestViewModel user = new ServiceRequestViewModel();
                    user.Email         = model.Email;
                    user.FirsName      = model.FirsName;
                    user.PhoneNumber   = model.PhoneNumber;
                    user.ProductTybe   = model.ProductTybe;
                    user.Brand         = model.Brand;
                    user.DateOfRequest = model.DateOfRequest;
                    user.Address       = model.Address;
                    user.Pincode       = model.Pincode;
                    mailBody           = RenderPartialToString("_Notify", user, ControllerContext);
                    _IMasterService.SendAccountCreatationEmail("Service Request Generated", mailBody, user, 101);
                }

                catch (Exception ex)
                {
                    ModelState.AddModelError("", "Invalid login attempt");
                    return(View(model));
                }
            }
            ModelState.Clear();
            ViewBag.Message    = "Thanks " + model.FirsName + "" + "  your request is created for " + model.ProductTybe;
            ViewBag.Visibility = "inline";
            model = new ServiceRequestViewModel();
            return(View(model));
        }
        // GET: ServiceRequest
        public ActionResult List(int page = 1)
        {
            ServiceRequestViewModel viewModel = new ServiceRequestViewModel();

            try
            {
                viewModel.PagingInfo = new PagingInfo
                {
                    TotalRecordsCount = requestService.TotalRecordsCount(),
                    RecordsPerPage    = RecordsPerPage,
                    CurentPageNo      = page
                };

                if (viewModel.PagingInfo.TotalRecordsCount > 0)
                {
                    viewModel.ServiceRequests = GetServiceRequests(page);
                }
                else
                {
                    DisplayWarningMessage("No records to display");
                }
            }
            catch (Exception exp)
            {
                DisplayLoadErrorMessage(exp);
            }

            return(View(viewModel));
        }
        public bool SendAccountCreatationEmail(string subject, string mailBody, ServiceRequestViewModel userData, long logId = 0)
        {
            try
            {
                // Log in notificatoin table
                NotificationViewModel notification  = new NotificationViewModel();
                MasterService         masterService = new MasterService();
                if (subject == "Service Request Generated")
                {
                    notification.MailType = 1;// First time user create
                }
                else
                {
                    notification.MailType = 1;// First time user create
                }
                notification.To           = userData.Email;
                notification.Subject      = subject;
                notification.Body         = mailBody.ToString();
                notification.Status       = 1;
                notification.ActionById   = Convert.ToInt64(userData.Id);
                notification.SendCount    = 1;
                notification.CreatedBy    = logId;
                notification.CreationDate = DateTime.UtcNow;
                // masterService.SaveNotifications(notification);
                notification = null;
                EmailSendUsingSmtpClient(AppConfig.Host, AppConfig.FromUserName, AppConfig.FromPassword, subject, mailBody.ToString(), AppConfig.FromEmail, userData.Email, int.Parse(AppConfig.Port), false, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(true);
        }
예제 #4
0
        public IActionResult Edit(int?id)
        {
            var    uri  = baseurl + "services/GetService/" + id;
            object data = null;

            try
            {
                var responseTask = client.GetAsync(uri).Result;
                data = responseTask.Content.ReadAsStringAsync().Result;
            }
            catch (Exception ex)
            {
                data = ex;
            }

            dynamic        response = JsonConvert.DeserializeObject(data.ToString());
            ServiceRequest item     = response.ToObject <ServiceRequest>();

            var viewModel = new ServiceRequestViewModel
            {
                Id          = item.Id,
                ServiceId   = item.ServiceId,
                Name        = _context.Service.Get(item.ServiceId).Name,
                Customer    = _context.Customer.Get(item.CustomerId).FirstName,
                Quote       = item.PriceQuotation,
                IsCompleted = item.IsCompleted,
                CreatedAt   = item.CreatedAt
            };

            return(View(viewModel));
        }
예제 #5
0
        public IActionResult CreateFixed(ServiceRequestViewModel requestVM)
        {
            Request req = new Request();

            req         = requestVM.Requests;
            req.Message = "Sorry no worker's at the moment. Please wait for the admin to create new workers";
            if (Workers().Count() == 0)
            {
                return(View("ViewError", req));
            }
            var userName = HttpContext.Session.GetString("UserName");

            _notifRepo.AddNotification("1 new service request", "admin");
            _notifRepo.AddNotification("Please wait for 2-3 Days for inspection.", userName);

            foreach (var worker in Workers())
            {
                requestVM.Requests.AssignedBy = worker.UserName;
                worker.NumberOfTask          += 1;
                _userRepo.Update(worker);
                break;
            }

            req.Description = "";
            req.Status      = "for inspection";
            _requestRepo.Create(requestVM.Requests);
            req.Message = "You have successfully requested for a service. Please wait for 2-3 days as the inspector will look at your unit";
            return(View("ViewError", req));
        }
        public bool SaveServiceRequestsStatus(ServiceRequestViewModel serviceRequest)
        {
            Quiz.Core.EntityModel.ServiceRequestStatu tblServiceRequestStatus = new Quiz.Core.EntityModel.ServiceRequestStatu();
            bool result = false;

            try
            {
                //if (serviceRequest.Id == 0)
                //{

                tblServiceRequestStatus.CreatedOn        = DateTime.Now;
                tblServiceRequestStatus.Status           = (int)serviceRequest.UserId;
                tblServiceRequestStatus.CreatedBy        = 101;
                tblServiceRequestStatus.ServiceRequestId = serviceRequest.Id;
                tblServiceRequestStatus.Comment          = serviceRequest.Comment;
                _Context.ServiceRequestStatus.Add(tblServiceRequestStatus);
                _Context.SaveChanges();
                result = true;
                //}
                //else
                //{
                //    Mapper.Map(serviceRequest, tblServiceRequest);
                //    _Context.Entry(tblServiceRequest).State = EntityState.Modified;
                //    _Context.SaveChanges();
                //    result = true;
                //}
            }
            catch (Exception EX)
            {
                result = false;
            }
            return(result);
        }
예제 #7
0
        public ActionResult ServiceRequest(string Product)
        {
            ServiceRequestViewModel ObjServiceRequestViewModel = new ServiceRequestViewModel();

            ViewBag.Visibility = "none";
            ObjServiceRequestViewModel.ProductTybe = Product;
            return(View(ObjServiceRequestViewModel));
        }
예제 #8
0
        public IActionResult FixedService(int id)
        {
            var serviceVM = new ServiceRequestViewModel {
                Services = _serviceRepo.GetIdBy(id)
            };

            return(View(serviceVM));
        }
예제 #9
0
 public async Task Handle(DomainEventNotification <SavedServiceRequest> notification,
                          CancellationToken cancellationToken)
 {
     ServiceRequestViewModel serviceRequestModel =
         _mapper.Map <ServiceRequestViewModel>(notification.DomainEvent.ServiceRequest);
     await _hubContext.Clients.Groups("Administrator", "OfficeEmployee")
     .SendAsync("NewServiceRequest", serviceRequestModel, cancellationToken);
 }
예제 #10
0
 public ActionResult Edit(ServiceRequestViewModel serviceRequest)
 {
     if (ModelState.IsValid)
     {
         _IServiceRequest.SaveServiceRequestsStatus(serviceRequest);
         return(RedirectToAction("Index"));
     }
     return(View(serviceRequest));
 }
예제 #11
0
        // GET: /serviceRequest/Edit/5
        public ActionResult Edit(int?id)
        {
            dynamic serviceRequest = new ServiceRequestViewModel();

            if (id != null && id != 0)
            {
                serviceRequest = _IServiceRequest.serviceRequest(id);
            }
            return(View(serviceRequest));
        }
예제 #12
0
        private async Task <T> ServiceAsync <T>(ServiceRequestViewModel request)
        {
            var client = _httpClientFactory.CreateClient("xcloud");

            var                 content     = JsonConvert.SerializeObject(request);
            HttpContent         httpContent = new StringContent(content, Encoding.UTF8, "application/json");
            HttpResponseMessage response    = await client.PostAsync($"Service", httpContent);

            string result = await response.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <T>(result));
        }
예제 #13
0
 protected override void OnAppearing()
 {
     base.OnAppearing();
     if (viewModel.ServiceRequests.Count == 0)
     {
         viewModel.RefreshServiceRequests.Execute(true);
     }
     if (App.IsRequestFiltered)
     {
         BindingContext = viewModel = new ServiceRequestViewModel(App.ServiceRequestDescription, App.ServiceRequestStatus, Navigation);
         viewModel.RefreshServiceRequests.Execute(true);
     }
 }
예제 #14
0
        public ServiceRequestPage()
        {
            InitializeComponent();

            this.BindingContext = _viewModel = new ServiceRequestViewModel();

            // Atualiza a lista de measure na tela
            this.pckServiceType.Items.Clear();
            foreach (var type in SampleData.ServiceTypeList())
            {
                pckServiceType.Items.Add(type);
            }
        }
예제 #15
0
        // GET: /serviceRequest/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ServiceRequestViewModel serviceRequest = _IServiceRequest.serviceRequest(id);

            if (serviceRequest == null)
            {
                return(HttpNotFound());
            }
            return(View(serviceRequest));
        }
예제 #16
0
        public IActionResult Service([FromBody] ServiceRequestViewModel request)
        {
            if (request == null)
            {
                return(BadRequest("No service request supplied"));
            }

            var serviceResponse = _xcloudService.xrService(request.Service, request.Parameters);

            return(Ok(new ServiceResponseViewModel <object>
            {
                Reply = serviceResponse.Reply,
                Uuid = serviceResponse.Uuid
            }));
        }
예제 #17
0
        public IActionResult Edit(ServiceRequestViewModel request)
        {
            var    uri  = baseurl + "services/GetService/" + request.Id;
            object data = null;

            try
            {
                var responseTask = client.GetAsync(uri).Result;
                data = responseTask.Content.ReadAsStringAsync().Result;
            }
            catch (Exception ex)
            {
                data = ex;
            }

            dynamic        response = JsonConvert.DeserializeObject(data.ToString());
            ServiceRequest item     = response.ToObject <ServiceRequest>();

            item.IsCompleted = true;



            if (ModelState.IsValid)
            {
                object      output     = null;
                var         url        = baseurl + "services/PutService";
                var         jsonObject = JsonConvert.SerializeObject(item);
                HttpContent c          = new StringContent(jsonObject, System.Text.Encoding.UTF8, "application/json");

                try
                {
                    var responseTask = client.PutAsync(url, c).Result;
                    output = responseTask.Content.ReadAsStringAsync().Result;
                }
                catch (Exception ex)
                {
                    output = ex;
                }

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(request));
            }
        }
        public dynamic serviceRequest(int?id)
        {
            ServiceRequestViewModel serviceRequest = new ServiceRequestViewModel();

            try
            {
                if (id != 0 && id != null)
                {
                    var EntserviceRequest = _Context.ServiceRequests.Find(id);
                    Mapper.Map(EntserviceRequest, serviceRequest);
                }
            }
            catch (Exception EX)
            {
            }
            return(serviceRequest);
        }
예제 #19
0
        public IActionResult Create2(string ServiceDescription, int RequestTypeId, string RequestName, string Email, bool CustomerConsent, string RequestType)
        {
            //Instantiate model to generate request list
            var model = new ServiceRequestViewModel();

            model.ServiceDescription = ServiceDescription;
            model.Email       = Email;
            model.CheckBox    = CustomerConsent;
            model.Id          = RequestTypeId;
            model.Name        = RequestName;
            model.RequestType = RequestType;


            //1. First get the list of possible request options a customer can select from
            IEnumerable <string> Mylist = GetServiceRequestOptions();

            //2. Bind the list to the model
            model.RequestTypeDdl = CreateSelectList(Mylist);


            return(RedirectToAction("Create", model));
        }
예제 #20
0
        public IActionResult Index()
        {
            var    uri  = baseurl + "services";
            object data = null;

            try
            {
                var responseTask = client.GetAsync(uri).Result;
                data = responseTask.Content.ReadAsStringAsync().Result;
            }
            catch (Exception ex)
            {
                data = ex;
            }

            dynamic response = JsonConvert.DeserializeObject(data.ToString());
            List <ServiceRequest> results = response.ToObject <List <ServiceRequest> >();
            var viewModel = new List <ServiceRequestViewModel>();

            foreach (var item in results)
            {
                var model = viewModel.FirstOrDefault();

                model = new ServiceRequestViewModel
                {
                    Id          = item.Id,
                    ServiceId   = item.ServiceId,
                    Name        = _context.Service.Get(item.ServiceId).Name,
                    Car         = _context.Car.Get(item.CarId).Name,
                    Customer    = _context.Customer.Get(item.CustomerId).FirstName,
                    Quote       = item.PriceQuotation,
                    IsCompleted = item.IsCompleted,
                    CreatedAt   = item.CreatedAt
                };
                viewModel.Add(model);
            }
            return(View(viewModel));
        }
예제 #21
0
        public async Task <IActionResult> ServiceRequest(ServiceRequestViewModel request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }


            var serviceRequest = new ServiceRequest
            {
                Email             = HttpContext.User.GetCurrentUserDetails().Email,
                VehicleName       = request.VehicleName,
                VehicleType       = request.VehicleType,
                RequestedDate     = request.RequestedDate,
                RequestedServices = request.RequestedServices,
                Status            = Status.New.ToString()
            };

            await _repo.AddAsync(serviceRequest);

            await _uow.SaveAsync();

            return(RedirectToAction("Dashboard", "Dashboard", new { Area = "ServiceRequests" }));
        }
        public ActionResult Errors(AddValStatus addValStatus, ServiceRequest serviceRequest)
        {
            addValStatus   = (AddValStatus)TempData["addValStatus"];
            serviceRequest = (ServiceRequest)TempData["serviceRequest"];
            if (addValStatus == null || serviceRequest == null)
            {
                return(HttpNotFound());
            }
            ServiceRequestViewModel model = new ServiceRequestViewModel();

            model.errorList = new List <string>();
            model.Address   = serviceRequest.Address;
            model.City      = serviceRequest.City;
            model.State     = serviceRequest.State;
            model.Zip       = serviceRequest.Zip;
            foreach (var error in addValStatus.errorList)
            {
                model.errorList.Add(error);
            }
            TempData["addValStatus"]   = addValStatus;
            TempData["serviceRequest"] = serviceRequest;

            return(View(model));
        }
        public bool SaveServiceRequests(ServiceRequestViewModel serviceRequest)
        {
            Quiz.Core.EntityModel.ServiceRequest tblServiceRequest = new Quiz.Core.EntityModel.ServiceRequest();
            bool result = false;

            try
            {
                if (serviceRequest.Id == 0)
                {
                    Mapper.Map(serviceRequest, tblServiceRequest);
                    tblServiceRequest.UserId    = 2;
                    tblServiceRequest.CreatedOn = DateTime.Now;
                    if (tblServiceRequest.DateOfRequest == DateTime.MinValue)
                    {
                        tblServiceRequest.DateOfRequest = DateTime.Now;
                    }
                    tblServiceRequest.CreatedOn = DateTime.Now;
                    tblServiceRequest.CreatedBy = 101;
                    _Context.ServiceRequests.Add(tblServiceRequest);
                    _Context.SaveChanges();
                    result = true;
                }
                else
                {
                    Mapper.Map(serviceRequest, tblServiceRequest);
                    _Context.Entry(tblServiceRequest).State = EntityState.Modified;
                    _Context.SaveChanges();
                    result = true;
                }
            }
            catch (Exception EX)
            {
                result = false;
            }
            return(result);
        }
예제 #24
0
 public ServiceRequestView(string subjectOrDescription, string status)
 {
     BindingContext = viewModel = new ServiceRequestViewModel(subjectOrDescription, status, Navigation);
     InitializeComponent();
 }