Beispiel #1
0
        // GET: Clients/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var client = await _context.Clients
                         .Include(c => c.Zcounty)
                         .Include(c => c.Zrace)
                         .Include(c => c.Zinsurance)
                         .FirstOrDefaultAsync(m => m.ClientId == id);

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

            ClientDetailsViewModel clientDetailsViewModel = new ClientDetailsViewModel()
            {
                Client    = client,
                Inquiries = await _context.ClientServices
                            .Where(cs => cs.ClientId == client.ClientId)
                            .Include(cs => cs.Zstatus)
                            .Include(cs => cs.Service)
                            .Include(cs => cs.Zworker)
                            .OrderByDescending(cs => cs.recdate)
                            .ToListAsync()
            };

            return(View(clientDetailsViewModel));
        }
Beispiel #2
0
        public JsonResult GetDetails([FromBody] ClientDetailsViewModel data)
        {
            if (data != null && data.No != null)
            {
                var getClientTask = WSCustomerService.GetByNoAsync(data.No, _configws);
                try
                {
                    getClientTask.Wait();
                }
                catch (Exception ex)
                {
                    data.eReasonCode = 3;
                    data.eMessage    = "Ocorreu um erro a obter o cliente no NAV.";
                    data.eMessages.Add(new TraceInformation(TraceType.Error, ex.Message));
                    return(Json(data));
                }

                ClientDetailsViewModel client = getClientTask.Result;
                if (client != null)
                {
                    return(Json(client));
                }
            }
            return(Json(false));
        }
Beispiel #3
0
        public ActionResult Details()
        {
            try
            {
                using (IUnitOfWork uow = unitOfWorkFactory.Create(IsolationLevel.ReadCommitted))
                {
                    var client = сlientService.CheckClientExistence(UserSession.CurrentClientAdministratorInfo.ClientAccountId);

                    var model = new ClientDetailsViewModel()
                    {
                        MainDetails           = GetMainDetails(client),
                        DisplayName           = client.DisplayName,
                        InvoiceForPaymentGrid = GetInvoiceForPaymentGridLocal(new GridState()
                        {
                            PageSize = 5
                        }),
                        PaymentGrid = GetPaymentGridLocal(new GridState()
                        {
                            PageSize = 5
                        }),
                        CertificateOfCompletionGrid = GetCertificateOfCompletionGridLocal(new GridState()
                        {
                            PageSize = 5
                        })
                    };

                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                return(Content(ProcessException(ex)));
            }
        }
Beispiel #4
0
        // GET: ProjectManger/ClientDetails
        public async Task <IActionResult> ClientDetails(string id)
        {
            List <IdentityUser> listOfFrilansers = await _repository.FrilansersOfClientAsync(id);

            List <FrilanserSumStringModel> frilanserSumStrings = new List <FrilanserSumStringModel>();

            foreach (IdentityUser frilanserOfClient in listOfFrilansers)
            {
                frilanserSumStrings.Add(new FrilanserSumStringModel()
                {
                    FrilanserName = frilanserOfClient.UserName,
                    SummOfStrings = await _repository.SumStringFrilanserToClientAsync(id, frilanserOfClient.Id)
                }

                                        );
            }

            IdentityUser client = await _userManager.FindByIdAsync(id);

            ClientDetailsViewModel clientDetailsViewModel = new ClientDetailsViewModel()
            {
                ClientName          = client.UserName,
                FrilanserSumStrings = frilanserSumStrings
            };

            return(View(clientDetailsViewModel));
        }
Beispiel #5
0
        public JsonResult Delete([FromBody] ClientDetailsViewModel data)
        {
            if (data != null && data.No != null)
            {
                var deleteClientTask = WSCustomerService.DeleteAsync(data.No, _configws);
                try
                {
                    deleteClientTask.Wait();
                }
                catch (Exception ex)
                {
                    data.eReasonCode = 3;
                    data.eMessage    = "Ocorreu um erro a apagar o cliente no NAV.";
                    data.eMessages.Add(new TraceInformation(TraceType.Error, ex.Message));
                    return(Json(data));
                }

                var result = deleteClientTask.Result;
                if (result != null)
                {
                    return(Json(new ErrorHandler()
                    {
                        eReasonCode = 0,
                        eMessage = "Projeto removido com sucesso."
                    }));
                }
            }
            return(Json(false));
        }
        public JsonResult Get([FromBody] ClientDetailsViewModel data)
        {
            if (data != null && data.No != null && data.No != "")
            {
                var getShipToAddress = WSShipToAddressService.GetByNoAsync(data.No, _configws);
                try
                {
                    getShipToAddress.Wait();
                }
                catch (Exception ex)
                {
                    data.eReasonCode = 3;
                    data.eMessage    = "Ocorreu um erro a obter o endereço de envio no NAV.";
                    data.eMessages.Add(new TraceInformation(TraceType.Error, ex.Message));
                    return(Json(data));
                }

                var listShipToAddress = getShipToAddress.Result;
                if (listShipToAddress != null)
                {
                    return(Json(listShipToAddress));
                }
            }
            return(Json(false));
        }
Beispiel #7
0
        public JsonResult GetContatosByCliente([FromBody] ClientDetailsViewModel data)
        {
            List <ContactViewModel> result = new List <ContactViewModel>();

            if (data != null && !string.IsNullOrEmpty(data.No))
            {
                result = DBContacts.GetAll().Where(x => x.NoCliente == data.No).ToList().ParseToViewModel();

                List <NAVClientsViewModel> AllClients  = DBNAV2017Clients.GetClients(_config.NAVDatabaseName, _config.NAVCompanyName, "");
                List <ContactosServicos>   AllServicos = DBContactsServicos.GetAll();
                List <ContactosFuncoes>    AllFuncoes  = DBContactsFuncoes.GetAll();

                result.ForEach(CT =>
                {
                    NAVClientsViewModel cliente = AllClients.Where(x => x.No_ == CT.NoCliente).FirstOrDefault() != null ? AllClients.Where(x => x.No_ == CT.NoCliente).FirstOrDefault() : null;
                    CT.ClienteNome         = cliente != null ? cliente.Name : "";
                    CT.ClienteNIF          = cliente != null ? cliente.VATRegistrationNo_ : "";
                    CT.ClienteEndereco     = cliente != null ? cliente.Address : "";
                    CT.ClienteCodigoPostal = cliente != null ? cliente.PostCode : "";
                    CT.ClienteCidade       = cliente != null ? cliente.City : "";
                    CT.ClienteRegiao       = cliente != null ? cliente.RegionCode : "";
                    CT.ClienteTelefone     = cliente != null ? cliente.PhoneNo : "";
                    CT.ClienteEmail        = cliente != null ? cliente.EMail : "";

                    CT.ServicoNome = AllServicos.Where(x => x.ID == CT.NoServico).FirstOrDefault() != null ? AllServicos.Where(x => x.ID == CT.NoServico).FirstOrDefault().Servico : "";
                    CT.FuncaoNome  = AllFuncoes.Where(x => x.ID == CT.NoFuncao).FirstOrDefault() != null ? AllFuncoes.Where(x => x.ID == CT.NoFuncao).FirstOrDefault().Funcao : "";
                });
            }
            return(Json(result.OrderByDescending(x => x.No)));
        }
Beispiel #8
0
        public JsonResult Update([FromBody] ClientDetailsViewModel data)
        {
            if (data != null)
            {
                data.Utilizador_Alteracao_eSUCH = User.Identity.Name;
                var updateClientTask = WSCustomerService.UpdateAsync(data, _configws);
                try
                {
                    updateClientTask.Wait();
                }
                catch (Exception ex)
                {
                    data.eReasonCode = 3;
                    data.eMessage    = "Ocorreu um erro ao atualizar o cliente no NAV.";
                    data.eMessages.Add(new TraceInformation(TraceType.Error, ex.Message));
                    return(Json(data));
                }

                var result = updateClientTask.Result;
                if (result == null)
                {
                    data.eReasonCode = 3;
                    data.eMessage    = "Ocorreu um erro ao atualizar o cliente no NAV.";
                    return(Json(data));
                }

                var client = WSCustomerService.MapCustomerNAVToCustomerModel(result.WSCustomer);
                if (client != null)
                {
                    client.eReasonCode = 1;
                    return(Json(client));
                }
            }
            return(Json(false));
        }
Beispiel #9
0
 public JsonResult GetBalances([FromBody] ClientDetailsViewModel data)
 {
     if (data != null && data.No != null)
     {
         var result = DBNAV2017Clients.GetBalances(_config.NAVDatabaseName, _config.NAVCompanyName, data.No);
         return(Json(result));
     }
     return(Json(false));
 }
Beispiel #10
0
        public static WSCustomerNAV.WSCustomer MapCustomerModelToCustomerNAV(ClientDetailsViewModel CustomerModel)
        {
            var mapper = new MapperConfiguration(cfg =>
                                                 cfg.CreateMap <ClientDetailsViewModel, WSCustomerNAV.WSCustomer>()/*.ForMember(x => x.No, opt => opt.Ignore())*/
                                                 ).CreateMapper();

            var CustomerNAV = mapper.Map <ClientDetailsViewModel, WSCustomerNAV.WSCustomer>(CustomerModel);

            return(CustomerNAV);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ProducersAndMaterialsTabItemViewModel"/> class.
        /// </summary>
        /// <param name="modalDialogProvider">The modal dialog service.</param>
        /// <param name="serviceFactory">The service factory.</param>
        public ClientsAndBuildingsTabItemViewModel(IMainViewModel mainViewModel, IModalDialogProvider modalDialogProvider, IServiceFactory serviceFactory)
            : base(mainViewModel, modalDialogProvider, serviceFactory)
        {
            BuildingDetailsViewModel = new BuildingDetailsViewModel(MainViewModel, ModalDialogProvider, ServiceFactory);
              BuildingListViewModel = new BuildingListViewModel(MainViewModel, BuildingDetailsViewModel, ModalDialogProvider, ServiceFactory);

              ClientDetailsViewModel = new ClientDetailsViewModel(MainViewModel, BuildingListViewModel, ModalDialogProvider, ServiceFactory);
              ClientListViewModel = new ClientListViewModel(MainViewModel, ClientDetailsViewModel, ModalDialogProvider, ServiceFactory);

              ViewModelProvider.RegisterChildViewModel(ClientDetailsViewModel, ViewModelProviderAction.IsReadOnlyChanged);
              ViewModelProvider.RegisterChildViewModel(BuildingDetailsViewModel, ViewModelProviderAction.IsReadOnlyChanged);
        }
Beispiel #12
0
        public static async Task <WSClientNAV.Update_Result> UpdateAsync(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            WSClientNAV.Update navUpdate = new WSClientNAV.Update()
            {
                teste = new WSClientNAV.teste
                {
                    //No = client.No,
                    Name                = client.Name,
                    Address             = client.Address,
                    Address_2           = client.Address_2,
                    Post_Code           = client.Post_Code,
                    City                = client.City,
                    Phone_No            = client.Phone_No,
                    E_Mail              = client.E_Mail,
                    Fax_No              = client.Fax_No,
                    Home_Page           = client.Home_Page,
                    County              = client.County,
                    VAT_Registration_No = client.VAT_Registration_No,
                    //Cliente_Associado = client.Cliente_Associado,
                    Associado_A_N = client.Associado_A_N,
                    //Tipo_Cliente = client.Tipo_Cliente,
                    //Natureza_Cliente = client.Natureza_Cliente
                }
            };

            //Configure NAV Client
            EndpointAddress ws_URL = new EndpointAddress(WSConfigurations.WS_Client_URL.Replace("Company", WSConfigurations.WS_User_Company));

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_PortClient(navWSBinding, ws_URL);
            ws_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;
            ws_Client.ClientCredentials.Windows.ClientCredential          = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain);

            WSClientNAV.Read_Result resultRead = await ws_Client.ReadAsync(navUpdate.teste.No);

            navUpdate.teste.Key = resultRead.teste.Key;

            try
            {
                WSClientNAV.Update_Result result = await ws_Client.UpdateAsync(navUpdate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #13
0
        public JsonResult Verificar_VAT([FromBody] ClientDetailsViewModel data)
        {
            if (data != null && !string.IsNullOrEmpty(data.VAT_Registration_No))
            {
                List <NAVClientsViewModel> AllClients = DBNAV2017Clients.GetClients(_config.NAVDatabaseName, _config.NAVCompanyName, "");

                if (AllClients != null && AllClients.Where(x => x.No_ != data.No && x.VATRegistrationNo_ == data.VAT_Registration_No).ToList().Count() > 0)
                {
                    return(Json("Existe pelo menos um Cliente ( " + AllClients.Where(x => x.No_ != data.No && x.VATRegistrationNo_ == data.VAT_Registration_No).FirstOrDefault().No_ + " ) com este Nº Contribuinte."));
                }
            }
            return(Json(""));
        }
Beispiel #14
0
        public async Task <IActionResult> ClientDetails(string email)
        {
            var user = await _userManager.FindByEmailAsync(email);

            var roles = _userManager.GetRolesAsync(user).Result;

            var model = new ClientDetailsViewModel
            {
                Email = email,
                Roles = roles
            };

            return(View(model));
        }
Beispiel #15
0
        public ActionResult Edit(int id, ClientDetailsViewModel clientViewModel)
        {
            try
            {
                var client = _mapper.Map <ClientDTO>(clientViewModel);
                _clientServices.EditClient(client);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Beispiel #16
0
        public async Task <ActionResult> DeleteClient(ClientDetailsViewModel model)
        {
            try
            {
                var result = await ClientServicClient.DeleteClient(model.Id);

                return(RedirectToAction("ClientsList"));
            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }
            return(View(model));
        }
Beispiel #17
0
        public static async Task <WSCustomerNAV.Update_Result> UpdateAsync(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }


            client.Cliente_Interno = false;
            WSCustomerNAV.Update navUpdate = new WSCustomerNAV.Update()
            {
                WSCustomer = MapCustomerModelToCustomerNAV(client)
            };

            //Configure NAV Client
            EndpointAddress ws_URL = new EndpointAddress(WSConfigurations.WS_Customer_URL.Replace("Company", WSConfigurations.WS_User_Company));

            WSCustomerNAV.WSCustomer_PortClient ws_Client = new WSCustomerNAV.WSCustomer_PortClient(navWSBinding, ws_URL);
            ws_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;
            ws_Client.ClientCredentials.Windows.ClientCredential          = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain);

            WSCustomerNAV.Read_Result resultRead = await ws_Client.ReadAsync(navUpdate.WSCustomer.No);

            navUpdate.WSCustomer.Key = resultRead.WSCustomer.Key;

            try
            {
                navUpdate.WSCustomer.Utilizador_Alteracao_eSUCH = client.Utilizador_Alteracao_eSUCH;

                navUpdate.WSCustomer.Abrigo_Lei_CompromissoSpecified = true;
                navUpdate.WSCustomer.BlockedSpecified               = true;
                navUpdate.WSCustomer.Cliente_AssociadoSpecified     = true;
                navUpdate.WSCustomer.Cliente_InternoSpecified       = true;
                navUpdate.WSCustomer.Cliente_NacionalSpecified      = true;
                navUpdate.WSCustomer.Data_Cliente_PaiSpecified      = true;
                navUpdate.WSCustomer.Natureza_ClienteSpecified      = true;
                navUpdate.WSCustomer.Regiao_ClienteSpecified        = true;
                navUpdate.WSCustomer.Taxa_AprovisionamentoSpecified = true;
                navUpdate.WSCustomer.Tipo_ClienteSpecified          = true;

                WSCustomerNAV.Update_Result result = await ws_Client.UpdateAsync(navUpdate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        private static void AddVisitsToVm(ClientDetailsViewModel model, WebappContext context)
        {
            var visits = context.Visits.Where(v => v.BusinessId == model.Business.Id).OrderBy(d => d.VisitDate).ToList();

            foreach (var visit in visits)
            {
                var step8 = context.ClientSteps8.Where(v => v.VisitId == visit.Id).AsEnumerable().OrderBy(v => v.Id).LastOrDefault();
                if (step8 != null && step8.NewVisitDate != null && step8.NewVisitDate.Value.Year > 1980)
                {
                    visit.VisitDate = step8.NewVisitDate.Value;
                }
            }

            model.Visits = visits;
        }
Beispiel #19
0
        public async Task <ActionResult> DetailsClient(long id)
        {
            var model = new ClientDetailsViewModel();

            try
            {
                model.ClientDetails = await ClientServicClient.GetDetailsClientById(id);
            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }

            return(View(model));
        }
Beispiel #20
0
        public IActionResult View(int id)
        {
            ClientDetailsViewModel viewModel = new ClientDetailsViewModel
            {
                Client = _clientsRepo.Clients
                         .Where(c => c.Id == id)
                         .First(),
                BillingModes            = _billingModesRepo.BillingModes.ToList(),
                ClientTypes             = _clientTypesRepo.ClientTypes.ToList(),
                DocumentDeliveryMethods = _documentDeliveryMethodsRepo.DocumentDeliveryMethods.ToList()
            };

            viewModel.RetainerSubscriptions = _retainerSubscriptionRepo.Subscriptions.Where(s => s.ClientId == id).OrderBy(c => c.Id);
            viewModel.Packages = _packageRepo.Packages.Where(p => p.ClientId == id && p.IsFinished == false).OrderBy(c => c.Id);
            return(View(viewModel));
        }
Beispiel #21
0
        public IActionResult Details(string id)
        {
            Client client = context.Clients.First(context => context.Id == id);

            ClientDetailsViewModel model = new ClientDetailsViewModel()
            {
                Id          = client.Id,
                FirstName   = client.FirstName,
                LastName    = client.LastName,
                Email       = client.Email,
                PhoneNumber = client.PhoneNumber,
                IsAdult     = client.IsAdult
            };

            return(View(model));
        }
Beispiel #22
0
        public ViewResult Details(Guid id)
        {
            Client client = _clientsRepository.GetClient(id);
            List <Tuple <Car, Rent> > activerents   = new List <Tuple <Car, Rent> >();
            List <Tuple <Car, Rent> > finishedrents = new List <Tuple <Car, Rent> >();

            foreach (var rent in _rentsRepository.GetAllRentsByClient(id))
            {
                if (rent.IsFinished == true)
                {
                    Tuple <Car, Rent> tuple = Tuple.Create(_carsRepository.GetCar(rent.CarId), rent);
                    finishedrents.Add(tuple);
                }
                if (rent.IsActive == true && rent.IsFinished == false)
                {
                    Tuple <Car, Rent> tuple = Tuple.Create(_carsRepository.GetCar(rent.CarId), rent);
                    activerents.Add(tuple);
                }
            }
            List <Income>  incomes  = new List <Income>();
            List <Invoice> expenses = new List <Invoice>();

            foreach (var item in _incomesRepository.GetAllByClient(id))
            {
                Income temp = item;
                temp.Invoice = _invoicesRepository.GetInvoice(temp.InvoiceId);
                if (temp.CarId != null)
                {
                    temp.Car = _carsRepository.GetCar(temp.CarId.GetValueOrDefault());
                }
                incomes.Add(temp);
            }
            foreach (var item in _invoicesRepository.GetAllCostByClient(id))
            {
                expenses.Add(item);
            }
            ClientDetailsViewModel model = new ClientDetailsViewModel
            {
                Client        = client,
                ActiveRents   = activerents,
                FinishedRents = finishedrents,
                Incomes       = incomes,
                Expenses      = expenses
            };

            return(View(model));
        }
Beispiel #23
0
        public async Task <ActionResult> EditClient(ClientDetailsViewModel model)
        {
            try
            {
                var result = await ClientServicClient.EditClient(model.Id, model.Website, model.TeamId, model.ClientName);

                model.TeamList = await TeamServiceClient.GetAllTeam();

                //return RedirectToAction("ClientsList");
                ViewBag.Message = "Done :)";
            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }
            return(View(model));
        }
Beispiel #24
0
        public async Task <ActionResult> DetailsClient(long id)
        {
            var detailsClient = new ClientDetailsViewModel();

            try
            {
                var result = await ClientServicClient.GetDetailsClientById(id);

                detailsClient.Id         = result.Id;
                detailsClient.ClientName = result.ClientName;
                detailsClient.Website    = result.Website;
                detailsClient.TeamName   = result.TeamName;
            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }

            return(View(detailsClient));
        }
Beispiel #25
0
        public IActionResult AddClient([FromBody] ClientDetailsViewModel client)
        {
            var newClient = new Client(
                client.Name,
                client.LastName,
                client.Email,
                client.Phone,
                client.BirthDate,
                client.Address
                );

            var result = _service.Add(newClient);

            if (result < 1)
            {
                return(BadRequest());
            }

            return(Created("/client", client.ToString()));
        }
Beispiel #26
0
        public async Task <ActionResult> EditClient(long id)
        {
            var model = new ClientDetailsViewModel();

            try
            {
                var result = await ClientServicClient.GetDetailsClientById(id);

                model.Id         = result.Id;
                model.ClientName = result.ClientName;
                model.Website    = result.Website;
                model.TeamName   = result.TeamName;
                model.TeamList   = await TeamServiceClient.GetAllTeam();
            }
            catch (Exception e)
            {
                ViewBag.Message = e.Message;
            }

            return(View(model));
        }
        public static ClientDetailsViewModel CreateClientDetailsViewModel(int?businessId, WebappContext context)
        {
            if (businessId == null)
            {
                return(null);
            }
            var business = context.Businesses.SingleOrDefault(x => x.Id == businessId);

            if (business == null)
            {
                return(null);
            }
            var model = new ClientDetailsViewModel()
            {
                Business = business
            };

            AddBusinessDataToVm(model, context.BusinessDatas.SingleOrDefault(x => x.BusinessId == business.Id), context);
            AddVisitsToVm(model, context);

            return(model);
        }
Beispiel #28
0
        public static async Task <WSClientNAV.Update_Result> UpdateVATNumber(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            WSClientNAV.Update navUpdate = new WSClientNAV.Update()
            {
                teste = new WSClientNAV.teste
                {
                    VAT_Registration_No = client.VAT_Registration_No,
                }
            };

            //Configure NAV Client
            EndpointAddress ws_URL = new EndpointAddress(WSConfigurations.WS_Client_URL.Replace("Company", WSConfigurations.WS_User_Company));

            WSClientNAV.teste_PortClient ws_Client = new WSClientNAV.teste_PortClient(navWSBinding, ws_URL);
            ws_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;
            ws_Client.ClientCredentials.Windows.ClientCredential          = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain);

            WSClientNAV.Read_Result resultRead = await ws_Client.ReadAsync(navUpdate.teste.No);

            navUpdate.teste.Key = resultRead.teste.Key;

            try
            {
                WSClientNAV.Update_Result result = await ws_Client.UpdateAsync(navUpdate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        private static void AddBusinessDataToVm(ClientDetailsViewModel model, BusinessData data, WebappContext context)
        {
            if (data == null)
            {
                return;
            }

            model.Status          = (ClientStatus)data.Status;
            model.CooperationType = context.CooperationTypes.Single(x => x.Id == data.CooperationTypeId).Name;
            model.AddDate         = data.AddDate;
            model.Name            = data.RecipientName;
            model.Street          = data.Street;
            model.BuildingNumber  = data.BuildingNumber;
            model.PostCode        = data.PostCode;
            model.Province        = context.Provinces.Single(x => x.Id == data.ProvinceId).Name;
            model.District        = context.Districts.Single(x => x.Id == data.DistrictId).Name;
            model.City            = data.City;
            model.Nip             = data.NIP;
            model.LegalForm       = context.LegalForms.Single(x => x.Id == data.LegalFormId).Name;
            model.StartYear       = data.StartYear.ToString();
            model.GroupMember     = data.GroupMember;
            var group = context.Groups.SingleOrDefault(x => x.Id == data.GroupId);

            model.Group                 = group != null ? group.Name : string.Empty;
            model.Owner                 = data.Owner;
            model.OwnerPhone            = data.OwnerPhoneNumber;
            model.Phone1                = data.PhoneNumber;
            model.Phone2                = data.PhoneNumber2;
            model.Phone3                = data.PhoneNumber3;
            model.Email                 = data.Emial;
            model.Website               = data.Website;
            model.Agent                 = context.Agents.Single(x => x.Id == data.AgentId).FullName;
            model.ContactPerson         = data.ContactPerson;
            model.ContactPersonPosition = data.ContactPersonPosition;
            model.ContactPersonEmail    = data.ContactPersonEmail;
            model.ContactPersonPhone    = data.ContactPersonPhoneNumber;
        }
        /// <summary>
        /// This ActionResult will allow the Engineer to view the detail of the client
        /// </summary>
        /// <param name="id">Id of the client to be viewed - ClientId</param>
        /// <returns></returns>
        // GET: Engineer/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var client = _clientRepo.GetById((int)id);

            if (client == null)
            {
                return(HttpNotFound());
            }

            var clientModel = new ClientDetailsViewModel
            {
                Id                  = (int)id,
                Name                = client.Name,
                Location            = client.Location,
                ClientInterventions = _interventionRepo.GetInterventionsOfClient((int)id)
            };

            return(View(clientModel));
        }
Beispiel #31
0
        public static async Task <WSCustomerNAV.Create_Result> CreateAsync(ClientDetailsViewModel client, NAVWSConfigurations WSConfigurations)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }


            client.Cliente_Interno = false;
            WSCustomerNAV.Create navCreate = new WSCustomerNAV.Create()
            {
                WSCustomer = MapCustomerModelToCustomerNAV(client)
            };
            navCreate.WSCustomer.No = null;

            //Configure NAV Client
            EndpointAddress ws_URL = new EndpointAddress(WSConfigurations.WS_Customer_URL.Replace("Company", WSConfigurations.WS_User_Company));

            WSCustomerNAV.WSCustomer_PortClient ws_Client = new WSCustomerNAV.WSCustomer_PortClient(navWSBinding, ws_URL);
            ws_Client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;
            ws_Client.ClientCredentials.Windows.ClientCredential          = new NetworkCredential(WSConfigurations.WS_User_Login, WSConfigurations.WS_User_Password, WSConfigurations.WS_User_Domain);

            try
            {
                /*var lastClientResult = await ws_Client.ReadMultipleAsync(null, null, -1);
                 *
                 * string lastClientNo = null, newClientNo = "1"; //default client No
                 * if (lastClientResult != null)
                 *  lastClientNo = lastClientResult.ReadMultiple_Result1[0].No;
                 *
                 * if (lastClientNo != null)
                 * {
                 *  var digits = from c in lastClientNo
                 *               where Char.IsDigit(c)
                 *               select c;
                 *
                 *  var alphas = from c in lastClientNo
                 *               where !Char.IsDigit(c)
                 *               select c;
                 *
                 *  if (alphas.Count() > 0)
                 *      newClientNo = String.Join("", alphas);
                 *
                 *  if (digits.Count() > 0)
                 *  {
                 *      var newNum = int.Parse(String.Join("", digits)) + 1;
                 *      newClientNo += newNum.ToString();
                 *  }
                 *
                 * }
                 *
                 * navCreate.WSCustomer.No = newClientNo;*/

                navCreate.WSCustomer.Utilizador_Alteracao_eSUCH = client.Utilizador_Alteracao_eSUCH;

                navCreate.WSCustomer.Abrigo_Lei_CompromissoSpecified = true;
                navCreate.WSCustomer.BlockedSpecified               = true;
                navCreate.WSCustomer.Cliente_AssociadoSpecified     = true;
                navCreate.WSCustomer.Cliente_InternoSpecified       = true;
                navCreate.WSCustomer.Cliente_NacionalSpecified      = true;
                navCreate.WSCustomer.Data_Cliente_PaiSpecified      = true;
                navCreate.WSCustomer.Natureza_ClienteSpecified      = true;
                navCreate.WSCustomer.Regiao_ClienteSpecified        = true;
                navCreate.WSCustomer.Taxa_AprovisionamentoSpecified = true;
                navCreate.WSCustomer.Tipo_ClienteSpecified          = true;

                WSCustomerNAV.Create_Result result = await ws_Client.CreateAsync(navCreate);

                return(result);
            }
            catch (Exception ex)
            {
                throw;
            }
        }