Example #1
0
        public void ConvertirProspectoEnCliente(ConvertirProspectoClienteModel model)
        {
            using (var tran = Marfil.Inf.Genericos.Helper.TransactionScopeBuilder.CreateTransactionObject())
            {
                var prospectoObj = get(model.ProspectoId) as ProspectosModel;

                var clienteService = FService.Instance.GetService(typeof(ClientesModel), _context, _db);
                var clienteObj     = GenerarObjetoCliente(model, prospectoObj);
                clienteService.create(clienteObj);
                ActualizarPresupuesosConProspectoActual(prospectoObj, clienteObj);
                delete(prospectoObj);


                tran.Complete();
            }
        }
        public ActionResult Convertirprospectoencliente(ConvertirProspectoClienteModel model)
        {
            var mierror = string.Empty;

            try
            {
                using (var prospectosService = FService.Instance.GetService(typeof(ProspectosModel), ContextService) as  ProspectosService)
                {
                    prospectosService.ConvertirProspectoEnCliente(model);
                }
                HttpContext.Response.StatusCode = (int)HttpStatusCode.OK;
                return(Json(model));
            }
            catch (Exception ex)
            {
                mierror = ex.Message;
            }
            HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json(mierror));
        }
Example #3
0
        private ClientesModel GenerarObjetoCliente(ConvertirProspectoClienteModel model, ProspectosModel prospectoObj)
        {
            var user   = _context;
            var result = new ClientesModel();

            result.Empresa   = Empresa;
            result.Fkcuentas = model.ClienteId;
            result.Cuentas   = new CuentasModel()
            {
                Empresa      = Empresa,
                Id           = model.ClienteId,
                Descripcion  = prospectoObj.Descripcion,
                Descripcion2 = prospectoObj.RazonSocial,
                FkPais       = prospectoObj.Cuentas.FkPais,
                Nif          = prospectoObj.Cuentas.Nif,
                UsuarioId    = user.Id.ToString()
            };
            result.Fkidiomas        = prospectoObj.Fkidiomas;
            result.Fkfamiliacliente = prospectoObj.Fkfamiliacliente;
            result.Fkzonacliente    = prospectoObj.Fkzonacliente;
            result.Fktipoempresa    = prospectoObj.Fktipoempresa;
            result.Fkunidadnegocio  = prospectoObj.Fkunidadnegocio;
            result.Fkincoterm       = prospectoObj.Fkincoterm;
            result.Fkpuertos        = prospectoObj.Fkpuertos;
            var qint = Funciones.Qint(prospectoObj.Fkmonedas);

            if (qint != null)
            {
                result.Fkmonedas = qint.Value;
            }
            result.Fkregimeniva       = prospectoObj.Fkregimeniva;
            result.Fkcuentasagente    = prospectoObj.Fkcuentasagente;
            result.Fkcuentascomercial = prospectoObj.Fkcuentascomercial;
            result.Fkformaspago       = prospectoObj.Fkformaspago;
            result.Fktarifas          = prospectoObj.Fktarifas;
            result.Notas                   = prospectoObj.Observaciones;
            result.Contactos               = new ContactosModel();   //prospectoObj.Contactos;
            result.Direcciones             = new DireccionesModel(); // prospectoObj.Direcciones;
            result.Contactos.Empresa       = Empresa;
            result.Contactos.Id            = Guid.NewGuid();
            result.Contactos.Tipotercero   = (int)TiposCuentas.Clientes;
            result.Direcciones.Empresa     = Empresa;
            result.Direcciones.Id          = Guid.NewGuid();
            result.Direcciones.Tipotercero = (int)TiposCuentas.Clientes;
            var i                   = 1;
            var listcontactos       = new List <ContactosLinModel>();
            var propertiescontactos = typeof(ContactosLinModel).GetProperties();

            foreach (var item in prospectoObj.Contactos.Contactos.ToList())
            {
                var newItem = new ContactosLinModel();
                foreach (var p in propertiescontactos)
                {
                    if (p.CanWrite)
                    {
                        p.SetValue(newItem, p.GetValue(item));
                    }
                }
                newItem.Id          = (i++) * -1;
                newItem.Tipotercero = TiposCuentas.Clientes;
                newItem.Fkentidad   = result.Fkcuentas;

                listcontactos.Add(newItem);
            }
            result.Contactos.Contactos = listcontactos;
            i = 1;
            var listdirecciones       = new List <DireccionesLinModel>();
            var propertiesdirecciones = typeof(DireccionesLinModel).GetProperties();

            foreach (var item in prospectoObj.Direcciones.Direcciones.ToList())
            {
                var newItem = new DireccionesLinModel();
                foreach (var p in propertiesdirecciones)
                {
                    if (p.CanWrite)
                    {
                        p.SetValue(newItem, p.GetValue(item));
                    }
                }
                newItem.Id          = (i++) * -1;
                newItem.Tipotercero = (int)TiposCuentas.Clientes;
                newItem.Fkentidad   = result.Fkcuentas;

                listdirecciones.Add(newItem);
            }
            result.Direcciones.Direcciones = listdirecciones;
            return(result);
        }