Esempio n. 1
0
        public async Task <IActionResult> Create()
        {
            if (ModelState.IsValid)
            {
                await this._inquiryModel.CreateInquiryAsync(inquiry);

                await this._callRegister.UpdateCompanyNameAndInquierName(inquiry);

                if (inquiry.CallRegisterId > 0)
                {
                    await this._callRegister.DestroyCallRegisterAsync(inquiry.CallRegisterId);
                }

                return(RedirectToAction(nameof(Index)));
            }

            var inquiryViewModel = new InquiryViewModel
            {
                inquiry     = inquiry,
                inquiryFrom = await SetInquiryFormValuesAsync()
            };

            ViewBag.toDate   = inquiry.IncomingDate.ToString("yyyy-MM-dd");
            ViewBag.toTime   = inquiry.StartTime.ToString("HH:mm");
            ViewBag.fromTime = inquiry.EndTime.ToString("HH:mm");

            ViewBag.relationInquiryText = "";

            return(View(nameof(New), inquiryViewModel));
        }
Esempio n. 2
0
        public async Task <IActionResult> Edit(int id)
        {
            var inquiry = await this._inquiryModel.FindByIdAsync(id);

            if (inquiry == null)
            {
                return(View(nameof(Index)));
            }

            var inquiryViewModel = new InquiryViewModel
            {
                inquiry     = inquiry,
                inquiryFrom = await SetInquiryFormValuesAsync()
            };

            ViewBag.toDate   = inquiry.IncomingDate.ToString("yyyy-MM-dd");
            ViewBag.toTime   = inquiry.StartTime.ToString("HH:mm");
            ViewBag.fromTime = inquiry.EndTime.ToString("HH:mm");

            var relationInquiry = await this._inquiryModel.FindByIdAsync(inquiry.InquiryRelationId);

            ViewBag.relationInquiryText = relationInquiry == null ? "" : relationInquiry.RelationInquiryText;

            return(View(inquiryViewModel));
        }
        public IActionResult GetDetails([FromQuery] InquiryViewModel inquiry)
        {
            _logger.LogInformation($"GetDetails() method was called with parameters: email: {inquiry.Email}, customerId: {inquiry.CustomerId}");

            var validationResult = inquiry.GetValidationResult();

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Message));
            }

            Customer customer = null;

            if (!string.IsNullOrEmpty(inquiry.Email) && inquiry.CustomerId.HasValue)
            {
                customer = _customerRepository.GetByEmailAndId(inquiry.Email, inquiry.CustomerId.Value);
            }
            else if (inquiry.CustomerId.HasValue)
            {
                customer = _customerRepository.GetById(inquiry.CustomerId.Value);
            }
            else
            {
                customer = _customerRepository.GetByEmail(inquiry.Email);
            }

            if (customer == null)
            {
                return(NotFound());
            }

            var model = _mapper.Map <CustomerViewModel>(customer);

            return(Ok(model));
        }
Esempio n. 4
0
        public IActionResult Get([FromForm] InquiryViewModel model)
        {
            var validationOfID    = ModelState.GetFieldValidationState("CustomerID");
            var validationOfEmail = ModelState.GetFieldValidationState("Email");

            if (validationOfEmail != ModelValidationState.Valid && validationOfID != ModelValidationState.Valid)
            {
                return(BadRequest());
            }

            CustomerViewModel result = null;

            if (validationOfID == ModelValidationState.Valid && validationOfEmail == ModelValidationState.Valid)
            {
                result = _inquiryService.GetCustomer(model.CustomerID, model.Email);
            }
            else if (validationOfEmail == ModelValidationState.Valid)
            {
                result = _inquiryService.GetCustomer(model.Email);
            }
            else if (validationOfID == ModelValidationState.Valid)
            {
                result = _inquiryService.GetCustomer(model.CustomerID);
            }

            if (result == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(result));
            }
        }
Esempio n. 5
0
        public ActionResult Index(int id = 0)
        {
            var model = new InquiryViewModel();

            // old Dojo logic gets all inquiries if id is not found. so emulate it here.
            model.InquiryId = id;
            if (id != 0)
            {
                InquiryProvider     inquiryProvider = new InquiryProvider(_dbContext);
                InquiriesValidation inquiry         = inquiryProvider.Retrieve(id);
                if (inquiry == null)
                {
                    model.InquiryId = 0;
                }
            }

            model.UserName = this.User.Identity.Name;
            // hack here: for admin role, we set the UserName to 'DelegateDeletion' to allow admin to delete other's inquiry
            if (AuthorizationProvider.IsAdmin())
            {
                model.UserName = "******";
            }

            return(View(model));
        }
        public void Get_ExistingCustomerId_Ok()
        {
            var testData = GetTestCustomerData();
            var inquiry  = new InquiryViewModel()
            {
                CustomerId = testData.Customer.Id,
            };
            var loggerMock = new Mock <ILogger <CustomersController> >();
            var mapperMock = new Mock <IMapper>();

            mapperMock.Setup(x => x.Map <CustomerViewModel>(testData.Customer))
            .Returns(testData.CustomerViewModel).Verifiable();

            var customerRepositoryMock = new Mock <ICustomerRepository>();

            customerRepositoryMock.Setup(x => x.GetById(inquiry.CustomerId.Value))
            .Returns(testData.Customer).Verifiable();

            var controller = new CustomersController(customerRepositoryMock.Object, mapperMock.Object, loggerMock.Object);

            var result = controller.GetDetails(inquiry);

            var model = (result as OkObjectResult).Value as CustomerViewModel;

            mapperMock.Verify();
            customerRepositoryMock.Verify();
            Assert.AreEqual(testData.CustomerViewModel.Id, model.Id);
            Assert.IsInstanceOf <OkObjectResult>(result);
        }
Esempio n. 7
0
        public async Task <IActionResult> Update()
        {
            if (ModelState.IsValid)
            {
                await this._inquiryModel.UpdateInquiryAsync(inquiry);

                await this._callRegister.UpdateCompanyNameAndInquierName(inquiry);

                return(RedirectToAction(nameof(Detail), new { id = inquiry.Id }));
            }

            var inquiryViewModel = new InquiryViewModel
            {
                inquiry     = inquiry,
                inquiryFrom = await SetInquiryFormValuesAsync()
            };

            ViewBag.toDate   = inquiry.IncomingDate.ToString("yyyy-MM-dd");
            ViewBag.toTime   = inquiry.StartTime.ToString("HH:mm");
            ViewBag.fromTime = inquiry.EndTime.ToString("HH:mm");

            var relationInquiry = await this._inquiryModel.FindByIdAsync(inquiry.InquiryRelationId);

            ViewBag.relationInquiryText = relationInquiry == null ? "" : relationInquiry.RelationInquiryText;

            return(View(inquiryViewModel));
        }
Esempio n. 8
0
        public JsonNetResult GetStudentByEditId(int Id)
        {
            Data.Models.Student objStudent = this._studentService.GetForEditId(Id);

            StudentViewModel Student = new StudentViewModel
            {
                Id             = objStudent.Id,
                InquiryId      = objStudent.InquiryId,
                FirstName      = objStudent.FirstName,
                MiddleName     = objStudent.MiddleName,
                LastName       = objStudent.LastName,
                Gender         = Convert.ToChar(objStudent.Gender),
                Mobile         = objStudent.Mobile,
                Address        = objStudent.Address,
                Email          = objStudent.Email,
                DOB            = objStudent.DOB,
                Remarks        = objStudent.Remarks,
                RegistrationNo = objStudent.RegistrationNo
            };

            Data.Models.Inquiry objInquiry = this._inquiryService.GetForId(Id);

            InquiryViewModel Inquiry = new InquiryViewModel
            {
                Id         = objInquiry.Id,
                Remark     = objInquiry.Remark,
                DivisionId = objInquiry.DivisionId,
                SubjectId  = objInquiry.SubjectId
            };

            return(JsonNet(new { Student = Student, Inquiry = Inquiry }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 9
0
        public ActionResult Index()
        {
            var vm = new InquiryViewModel();

            vm.Employees      = employeeService.GetAllEmployees().Select(x => x.MapEmployeeDdlFromServerToClient()).ToList();
            ViewBag.MessageVM = TempData["message"] as MessageViewModel;
            return(View(vm));
        }
        public JsonResult Create(InquiryViewModel inquiry)
        {
            var  customer = context.Customers.Where(c => c.Name.Equals(inquiry.CustomerName)).FirstOrDefault();
            Guid customerId;

            // if customer is null means we don't have the same user in database and hence the user is new
            if (customer == null)
            {
                customerId = Guid.NewGuid();
                context.Customers.Add(new DAL.DataModel.CommerceRelated.CustomersRelated.Customer
                {
                    Id             = customerId,
                    Name           = inquiry.CustomerName,
                    InquiryTel     = inquiry.ContactNumber,
                    InquiryAddress = inquiry.Address
                });
                context.SaveChanges();
            }
            // if customer name is present in the database we just update the value of tel and address to make sure they are updated if have been changed.
            else
            {
                customerId                    = customer.Id;
                customer.InquiryTel           = inquiry.ContactNumber;
                customer.InquiryAddress       = inquiry.Address;
                context.Entry(customer).State = System.Data.Entity.EntityState.Modified;
                context.SaveChanges();
            }

            // so far the customer values has been handled and added or modified in the database now it's time to add customer information, datetime and id into inquiry

            Inquiry newInquiry = new Inquiry();

            newInquiry.Id              = Guid.NewGuid();
            newInquiry.CustomerId      = customerId;
            newInquiry.DateTime        = PersianDateTime.Now.ToString();
            newInquiry.HasAddedCost    = inquiry.HasAddedCost;
            newInquiry.Comments        = inquiry.Comments;
            newInquiry.AddedCostAmount = inquiry.addedCostAmount;



            // now it's time to add inquiry information into inquiry items
            newInquiry.InquiryItems = inquiry.InquiryItems;
            foreach (InquiryItem item in newInquiry.InquiryItems)
            {
                item.Id        = Guid.NewGuid();
                item.InquiryId = newInquiry.Id;
            }

            context.Inquiries.Add(newInquiry);
            context.SaveChanges();
            ViewBag.ModelOperatedId = newInquiry.Id.ToString();


            // we return return url in json because in ajax success callback function it's been used in windows.location method
            return(Json(Url.Action("Index", "Inquiries", new { area = "Commerce" })));
        }
Esempio n. 11
0
        public JsonNetResult GetInquiryById(int Id)
        {
            InquiryViewModel Inquiry = new InquiryViewModel();

            Data.Models.Inquiry objInquiry = this._inquiryService.GetForId(Id);

            if (Inquiry != null)
            {
                Inquiry.Id         = objInquiry.Id;
                Inquiry.Remark     = objInquiry.Remark;
                Inquiry.DivisionId = objInquiry.DivisionId;
                Inquiry.SubjectId  = objInquiry.SubjectId;
            }
            return(JsonNet(Inquiry, JsonRequestBehavior.AllowGet));
        }
        public void Get_NotExistingParameters_NotFound(string email, long?customerId)
        {
            var inquiry = new InquiryViewModel()
            {
                Email      = email,
                CustomerId = customerId,
            };
            var loggerMock             = new Mock <ILogger <CustomersController> >();
            var mapperMock             = new Mock <IMapper>();
            var customerRepositoryMock = new Mock <ICustomerRepository>();
            var controller             = new CustomersController(customerRepositoryMock.Object, mapperMock.Object, loggerMock.Object);

            var result = controller.GetDetails(inquiry);

            Assert.IsInstanceOf <NotFoundResult>(result);
        }
        // GET: Inquiry
        public async Task <ActionResult> Inquiry(InquiryViewModel model)
        {
            try
            {
                Inquiry inquiry = new Inquiry();

                inquiry.BusinessName = model.BusinessName;
                inquiry.CustomerName = model.CustomerName;
                inquiry.Email        = model.Email;
                _inquiryRepository.Add(inquiry);


                await _inquiryRepository.UnitOfWork.CommitAsync();

                //Email Template
                string        emailBody     = string.Empty;
                string        emailSubject  = string.Empty;
                EmailTemplate emailTemplate = null;
                //emailTemplate = _emailTemplateRepository.GetFilteredElements(x => x.Name == "NOT using Office 365").FirstOrDefault();
                emailTemplate = _emailTemplateRepository.GetFilteredElements(x => x.TemplateId == 5).FirstOrDefault();


                if (emailTemplate != null)
                {
                    emailBody    = emailTemplate.Template;
                    emailSubject = emailTemplate.Subject;
                }
                StringBuilder sbEmail = new StringBuilder(emailBody);
                sbEmail.Replace("[CustomerName]", model.CustomerName);

                HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
                {
                    MailHelper mail = new MailHelper();
                    string subject  = emailSubject;       // MyCard.Web.Resources.CaptionsAll.EmailPasswordCreationSubjectMSO;
                    string body     = sbEmail.ToString(); //String.Format(@Resources.CaptionsAll.PasswordCreationEmailBodyMSO, model.Name, domainName);
                    await mail.SendAsync(model.Email, subject, body, String.Empty);
                });


                return(Json(new { success = true, responseText = MyCard.Web.Resources.CaptionsAll.RegistrationThankyouMessage }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, responseText = ex.Message }));
            }
        }
Esempio n. 14
0
        public JsonResult Index(InquirySearchRequest searchRequest)
        {
            string[] userPermissionsSet = (string[])Session["UserPermissionSet"];
            searchRequest.HasPermissionToViewAll = userPermissionsSet.Contains("ViewAllInquiries");
            searchRequest.CurrentUserId          = User.Identity.GetUserId();

            var contactResponse = inquiryService.GetAllInquiries(searchRequest);
            var inquiryList     = contactResponse.Inquiries.ToList().Select(x => x.MapServerToClientSearch()).ToList();
            var model           = new InquiryViewModel()
            {
                data            = inquiryList,
                recordsFiltered = contactResponse.FilteredCount,
                recordsTotal    = contactResponse.TotalCount
            };

            //var obj = new {data = model.EmployeePayrolls, model};
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Esempio n. 15
0
        public ActionResult ContactUs(InquiryViewModel inquiryViewModel)
        {
            var validator = this.GetRecaptchaVerificationHelper().VerifyRecaptchaResponse();

            if (validator != RecaptchaVerificationResult.Success)
            {
                ModelState.AddModelError("ReCaptcha", "Моля, попълнете предизвикателството за да сме сигурни че не сте робот");
            }

            if (ModelState.IsValid)
            {
                Inquiry inquiry = Mapper.Map <Inquiry>(inquiryViewModel);
                _inquiryService.Create(inquiry);
                TempData["SuccessMessage"] =
                    "Успешно изпратихте Вашето запитване. Ще се свържем с вас на посочения e-mail адрес възможно най-скоро.";
                return(RedirectToCurrentUmbracoPage());
            }

            return(CurrentUmbracoPage());
        }
Esempio n. 16
0
        public ActionResult Index(InquiryViewModel model)
        {
            var    DB     = new BG_DBEntities();
            string UserID = DB.AspNetUsers.FirstOrDefault(x => x.Email == User.Identity.Name).Id;
            var    obj    = new InquiryMst
            {
                InquiryName    = model.InquiryName,
                Type           = model.Type,
                CompanyName    = model.CompanyName,
                CompanyAddress = model.CompanyAddress,
                Comments       = model.Comments,
                CountryId      = model.CountryId,
                StateId        = model.StateId,
                CityId         = model.CityId,
                UserId         = UserID,
                IsResolve      = false
            };

            DB.InquiryMsts.Add(obj);
            DB.SaveChanges();
            return(Json(obj.InquiryId > 0 ? true : false, JsonRequestBehavior.AllowGet));
        }
Esempio n. 17
0
        public async Task <IActionResult> New(CallRegister callRegister = null)
        {
            Inquiry inquiry = new Inquiry();

            inquiry.BuildInquiryFromCallRegister(callRegister);

            var inquiryViewModel = new InquiryViewModel
            {
                inquiry     = inquiry,
                inquiryFrom = await SetInquiryFormValuesAsync()
            };

            var now = DateTime.Now;

            ViewBag.toDate   = now.ToString("yyyy-MM-dd");
            ViewBag.toTime   = now.ToString("HH:mm");
            ViewBag.fromTime = now.ToString("HH:mm");

            ViewBag.relationInquiryText = "";

            return(View(inquiryViewModel));
        }
Esempio n. 18
0
        public ActionResult Create(int?ID)
        {
            InquiryViewModel inquiryViewModel = new InquiryViewModel
            {
                InquiryModel = new Models.InquiryModel {
                    InquiryDate = DateTime.UtcNow
                }
            };

            var inquiryResponse = inquiryService.GetInquiryResponse(ID);

            if (inquiryResponse.Inquiry != null)
            {
                inquiryViewModel.InquiryModel = inquiryResponse.Inquiry.MapServerToClient();
                inquiryViewModel.InquiryModel.InquiryProductId = inquiryResponse.InquiryDetails.FirstOrDefault().ProductID;
                inquiryViewModel.Documents = inquiryResponse.InquiryDocuments.ToList();
            }

            inquiryViewModel.Contacts = inquiryResponse.Contacts.Select(x => x.CreateDDL()).ToList();
            inquiryViewModel.Products = inquiryResponse.Products.Select(x => x.MapServerToClient()).ToList();
            ViewBag.MessageVM         = TempData["message"] as MessageViewModel;
            return(View(inquiryViewModel));
        }
Esempio n. 19
0
        public ActionResult Create(InquiryViewModel inquiryViewModel)
        {
            try
            {
                inquiryViewModel.InquiryModel.UpdateDate = DateTime.UtcNow;
                inquiryViewModel.InquiryModel.UpdatedBy  = User.Identity.GetUserId();
                if (inquiryViewModel.InquiryModel.InquiryID == 0)
                {
                    inquiryViewModel.InquiryModel.CreatedDate = DateTime.UtcNow;
                    inquiryViewModel.InquiryModel.CreatedBy   = User.Identity.GetUserId();
                    inquiryViewModel.InquiryModel.UserId      = User.Identity.GetUserId();
                }

                InquiryResponse inquiryResp = new InquiryResponse();

                inquiryResp.Inquiry = inquiryViewModel.InquiryModel.MapClientToServer();
                //if (inquiryViewModel.InquiryDetail != null)
                inquiryResp.InquiryDetails = new List <InquiryDetail>
                {
                    new InquiryDetail
                    {
                        ProductID = inquiryViewModel.InquiryModel.InquiryProductId
                    }
                };
                //upload files data
                if (inquiryViewModel.UploadFiles.Any())
                {
                    foreach (var file in inquiryViewModel.UploadFiles)
                    {
                        if (file != null)
                        {
                            var    tempStream = file.InputStream;
                            byte[] bytes      = new byte[tempStream.Length];
                            tempStream.Read(bytes, 0, Convert.ToInt32(tempStream.Length));
                            Document document = new Document
                            {
                                DocumentData = bytes,
                                DocumentName = file.FileName,
                                DocumentType = file.ContentType
                            };
                            inquiryResp.InquiryDocuments.Add(document);
                        }
                    }
                }
                if (inquiryService.SaveInquiry(inquiryResp))
                {
                    TempData["message"] = new MessageViewModel
                    {
                        IsSaved = true,
                        Message = "Your data has been saved successfully!"
                    };
                }
                else
                {
                    TempData["message"] = new MessageViewModel
                    {
                        IsError = true,
                        Message = "There is some problem, please try again!"
                    };
                }
                return(RedirectToAction("Create"));
            }
            catch (Exception e)
            {
                return(View(inquiryViewModel));
            }
        }
Esempio n. 20
0
 public InquiryImportDisplayView(InquiryViewModel vm)
 {
     DataContext = vm;
     InitializeComponent();
 }
 public InquiryAddPartsView(InquiryViewModel vm)
 {
     this.DataContext = vm;
     InitializeComponent();
 }