예제 #1
0
        /// <summary>
        /// Pega todos os endereço de um parceiro pelo tipo
        /// </summary>
        /// <param name="pCardCode">Código do Parceiro</param>
        /// <param name="pAdresType">Endereço</param>
        /// <param name="pCompanyDb">Banco de Dados de Empresa</param>
        /// <returns></returns>
        public static List <BusinessPartnerAddress> GetBusinessPartnerAddress(string pCardCode, eAdresType pAdresType, string pCompanyDb)
        {
            var bp = new BusinessPartnerAddress(pCompanyDb);

            var query = new TableQuery(bp);

            query.Where.Add(
                new QueryParam(bp.Collumns[BusinessPartnerAddress.FieldsName.CardCode], pCardCode));

            query.Where.Add(
                new QueryParam(
                    bp.Collumns[BusinessPartnerAddress.FieldsName.AdresType],
                    AdresTypeClass.ToString(pAdresType)));

            return(bp.FillCollection <BusinessPartnerAddress>(query));
        }
예제 #2
0
        /// <summary>
        /// Pega um endereço do parceiro de negócio pelo código
        /// </summary>
        /// <param name="pCardCode">Código do Parceiro</param>
        /// <param name="pAddressName">Nome do Endereço</param>
        /// <param name="pAddressType">Tipo do Endrereço</param>
        /// <param name="pCompanyDb">Banco de Dados</param>
        /// <returns>Um endereço preenchido</returns>
        /// <exception cref="ArgumentNullException">Null passado por qualquer parametros</exception>
        /// <exception cref="Exception">Não encontro o registro</exception>
        public static BusinessPartnerAddress GetBusinessPartnerAddress(string pCardCode, string pAddressName, eAdresType pAddressType, string pCompanyDb)
        {
            pCardCode.CheckForArgumentNull("pCardCode");
            pAddressName.CheckForArgumentNull("pAddressName");
            pCompanyDb.CheckForArgumentNull("pCompanyDb");

            var bp = new BusinessPartnerAddress(pCompanyDb);

            if (!bp.GetByKey(pCardCode, pAddressName, pAddressType))
            {
                throw new Exception(
                          DontFindText3Key.Fmt(
                              BusinessPartnerAddressObjectName, pAddressName,
                              BusinessPartnerObjectName, pCardCode,
                              "Tipo de Endereço",
                              pAddressType.ToString()));
            }

            return(bp);
        }
        public ActionResult addAddress(string id, BusinessPartnerAddressViewModel customerAddress)
        {
            #region User identification
            IIdentity context = HttpContext.User.Identity;
            bool admin = false;
            bool customerCreator = false;
            bool purchaseOrderCreator = false;
            int companyId = 0;
            string userName = "";
            AppConnData appConnData = new AppConnData();

            if (context.IsAuthenticated)
            {

                System.Web.Security.FormsIdentity ci = (System.Web.Security.FormsIdentity)HttpContext.User.Identity;
                string[] userRole = ci.Ticket.UserData.Split('|');

                admin = int.Parse(userRole[1]) == 1 ? true : false;
                customerCreator = int.Parse(userRole[2]) == 1 ? true : false;
                purchaseOrderCreator = int.Parse(userRole[3]) == 1 ? true : false;
                companyId = int.Parse(userRole[4]);
                userName = ci.Name;
                appConnData = GetAppConnData(companyId);
            }
            #endregion
            string[] customerData = HexSerialization.HexToString(id).Split('|');

            try
            {
                customerAddress.cardCode = customerData[0];
                BusinessPartnerAddress customer = new BusinessPartnerAddress()
                {
                    addressType = customerAddress.addType == "S" ? AddressType.ShipTo : AddressType.BillTo,
                    address = customerAddress.address,
                    city = customerAddress.city,
                    street = customerAddress.street,
                    zipCode = customerAddress.zipCode,
                    country = customerAddress.country,
                    county = customerAddress.county,
                    streetNo = customerAddress.streetNo,
                    taxCode = customerAddress.taxCode,
                    cardCode = customerData[0],
                    state = customerAddress.state,
                    UserDefinedFields = new List<UserDefinedField>()
                };

                customer.UserDefinedFields.Add(new UserDefinedField()
                {
                    name = "U_CSS_IVA",
                    type = UdfType.Alphanumeric,
                    value = customerAddress.uCssIva
                });

                backEnd.AddBusinessPartnerAddress(customer, appConnData);

            }
            catch (FaultException<DataAccessFault> ex)
            {
                ViewBag.mensaje = string.Format("Codigo {0} error:{1} {2}", ex.Code, ex.Detail.Description, ex.Message);
                return View(customerAddress);
            }

            return RedirectToAction("addAddress", new { id = id });
        }