public void DomicilioSave(DomicilioModel modelo, int idEmpresa) { if (modelo == null) { throw new BaseException("Debe asignar un domicilio a la empresa externa."); } var entidad = Mapper.Map <DomicilioModel, Domicilio>(modelo); if (entidad == null) { entidad = new Domicilio(); } if (modelo.IdCalle > 0) { var calle = DaoProvider.GetDaoCalle().GetById(modelo.IdCalle); entidad.Calle = calle; entidad.TipoCalle = calle.TipoCalle; } entidad.Altura = modelo.Altura; entidad.Piso = modelo.Piso; entidad.Departamento = modelo.Departamento; entidad.Torre = modelo.Torre; var localidad = DaoProvider.GetDaoLocalidad().GetById(modelo.IdLocalidad); entidad.Localidad = localidad; entidad.Provincia = localidad.Provincia; entidad.DepartamentoProvincial = localidad.DepartamentoProvincial; entidad.Barrio = DaoProvider.GetDaoBarrio().GetById(modelo.IdBarrio); entidad.Origen = OrigenEnum.T_DO_EMP_EXTERNA; entidad.EntidadId = idEmpresa.ToString(); DaoProvider.GetDaoDomicilio().Save(entidad); }
private void GuardarAgente(AgenteModel model) { DomicilioModel domicilio = null; if (model.Persona != null && model.Persona.Domicilio != null) { domicilio = model.Persona.Domicilio; model.Persona.Domicilio = null; } if (model.Id == 0) { model = Rule.AgenteSave(model); } else { model = Rule.AgenteUpdate(model, ListaVinculos); } if (domicilio != null && model.Persona.Id.HasValue) { ServiceLocator.Current.GetInstance <IDomicilioRules>().DomicilioPersonaFisicaSaveOUpdate( domicilio, model.Persona.Id.Value, OrigenEnum.T_PER_FISICA); } Agente = model; }
public override void EditarPost(EmpresaExternaModel model) { DomicilioModel domicilio = null; domicilio = model.Domicilio; var empresa = Rule.EmpresaExternaUpdateOrSave(model); if (domicilio != null) { Rule.DomicilioSave(domicilio, empresa.Id); } }
public override void RegistrarPost(EmpresaExternaModel model) { DomicilioModel domicilio = null; bool domicilioReferente = false; bool domicilioPJ = false; if (model.Domicilio == null && (model.AsignarDomiPersonaF == false) && (model.AsignarDomiPersonaJ == false)) { throw new ApplicationException("es necesario asignar un domicilio a la empresa externa"); } if (model.Domicilio != null) { domicilio = model.Domicilio; } else if (model.AsignarDomiPersonaF && model.Referente.Domicilio != null) { domicilio = model.Referente.Domicilio; model.Referente.Domicilio = null; domicilioReferente = true; } else if (model.AsignarDomiPersonaJ && model.PersonaJuridica.Domicilio != null) { domicilio = model.PersonaJuridica.Domicilio; model.PersonaJuridica.Domicilio = null; domicilioPJ = true; } var empresa = Rule.EmpresaExternaSave(model); Rule.DomicilioSave(domicilio, empresa.Id); if (domicilioReferente && empresa.Referente.Id.HasValue) { Rule.DomicilioSave(domicilio, empresa.Referente.Id.Value); } if (domicilioPJ && empresa.PersonaJuridica.Id.HasValue) { Rule.DomicilioSave(domicilio, empresa.PersonaJuridica.Id.Value); } }