public int AddContact(BusinessPartnerContact newContact)
        {
            var query      = BusinessPartnerQueries.InsertContact;
            var parameters = DataHelper.ExtractParameters(newContact);

            return(dbContext.Execute <int>(query, parameters));
        }
Exemple #2
0
        /// <summary>
        /// Pega um parceiro de negócio pelo código
        /// </summary>
        /// <param name="pCode">Código do Contato</param>
        /// <param name="pCompanyDb">Banco de Dados</param>
        /// <returns>Um item preenchido</returns>
        /// <exception cref="ArgumentNullException">Null passado com código</exception>
        /// <exception cref="Exception">Não encontro o registro</exception>
        public static BusinessPartnerContact GetContact(int pCode, string pCompanyDb)
        {
            pCompanyDb.CheckForArgumentNull("pCompanyDb");

            var bp = new BusinessPartnerContact(pCompanyDb);

            if (!bp.GetByKey(pCode))
            {
                throw new Exception(string.Format(DontFindText1Key, "Contato", pCode));
            }

            return(bp);
        }
Exemple #3
0
        /// <summary>
        /// Pega um parceiro de negócio pelo código
        /// </summary>
        /// <param name="pCardCode">Código do Item</param>
        /// <param name="pName">Nome do Contato</param>
        /// <param name="pCompanyDb">Banco de Dados</param>
        /// <returns>Um item preenchido</returns>
        /// <exception cref="ArgumentNullException">Null passado com código</exception>
        /// <exception cref="Exception">Não encontro o registro</exception>
        public static BusinessPartnerContact GetContactByName(string pCardCode, string pName, string pCompanyDb)
        {
            pCardCode.CheckForArgumentNull("pCardCode");
            pCompanyDb.CheckForArgumentNull("pCompanyDb");

            var bp    = new BusinessPartnerContact(pCompanyDb);
            var query = new TableQuery(bp);

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

            var contact = bp.FillCollection <BusinessPartnerContact>(query).SingleOrDefault();

            if (contact == null)
            {
                throw new Exception(string.Format(DontFindText2Key, "Contato", pCardCode, pName));
            }

            return(contact);
        }
Exemple #4
0
 public ProposalView()
 {
     Partner   = new BusinessPartner();
     IsCompany = true;
     Contact   = new BusinessPartnerContact();
 }
Exemple #5
0
        public int InsertProposal(APIEmpIdModel <ProposalVM> model)
        {
            try
            {
                var businessPartnerId = 0;
                var contactId         = (model.Model.SelectedContactId == 0)?null: model.Model.SelectedContactId;
                var bpService         = new BusinessPartnerService(dbContext);
                if (model.Model.CreateNew)
                {
                    var bp = new BusinessPartner();
                    bp.Address  = model.Model.Partner.Address;
                    bp.EmailId  = model.Model.Partner.EmailId;
                    bp.MobileNo = model.Model.Partner.MobileNo;
                    bp.VATNo    = model.Model.Partner.VATNo;
                    if (model.Model.IsCompany)
                    {
                        bp.Name = model.Model.Partner.Name;
                        //bp.PointofContact = model.Model.Partner.PointofContact;
                        bp.BusinessPartnerTypeId = (int)BusinessPartnerTypeName.Company;
                    }
                    else
                    {
                        bp.Name = model.Model.PersonName;
                        bp.BusinessPartnerTypeId = (int)BusinessPartnerTypeName.Individual;
                    }
                    businessPartnerId = bpService.Add(bp);
                }
                else
                {
                    if (model.Model.IsCompany)
                    {
                        businessPartnerId = model.Model.SelectedCompanyId.Value;
                    }
                    else
                    {
                        businessPartnerId = model.Model.SelectedPersonId.Value;
                    }
                }

                if (!contactId.HasValue && model.Model.NewContact.Id == 0 && model.Model.NewContact.Name != "Name")
                {
                    var contact = new BusinessPartnerContact();
                    contact.BusinessPartnerId = businessPartnerId;
                    contact.ContactNo         = model.Model.NewContact.ContactNo;
                    contact.Email             = model.Model.NewContact.Email;
                    contact.Name = model.Model.NewContact.Name;
                    contactId    = bpService.AddContact(contact);
                }

                var proposal = new Proposal()
                {
                    BusinessPartnerId        = businessPartnerId,
                    ContactMode              = model.Model.ContactMode,
                    Description              = model.Model.Description,
                    BusinessPartnerContactId = contactId,
                    Discount = (model.Model.Discount.HasValue)? model.Model.Discount.Value:0,
                    VAT      = model.Model.VAT
                };
                var queryAddProposal      = ProposalQueries.AddProposal;
                var parametersAddProposal = DataHelper.ExtractParameters(proposal);
                var proposalId            = dbContext.Get <int>(queryAddProposal, parametersAddProposal);
                model.Model.Items.ForEach(p => p.ProposalId = proposalId);
                var queries = new List <QueryWithParameters>();

                var queryAddProposalItem = ProposalQueries.AddProposalItem;
                foreach (var item in model.Model.Items)
                {
                    var parametersAddProposalItem = DataHelper.ExtractParameters(item);
                    queries.Add(new QueryWithParameters()
                    {
                        Query      = queryAddProposalItem,
                        Parameters = parametersAddProposalItem
                    });
                }

                //Add Event
                var erpEvent = new ERPEventHelper().GetEventModel(model.EmployeeId, proposalId, EventTypes.EnquiryCreate);
                queries.Add(new QueryWithParameters()
                {
                    Query      = EventQueries.EventInsert,
                    Parameters = DataHelper.ExtractParameters(erpEvent)
                });

                dbContext.ExecuteTransaction(queries);
                return(1);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }