public override bool Save(object model, bool creating) { try { if (model != null) { var wcf = new WcfService.Service(); var obj = (PagamentoUnificatoFatturaAcquistoDto)model; bool performed = false; if (creating) { var newObj = wcf.CreatePagamentoUnificatoFatturaAcquisto(obj); performed = (newObj != null); if (performed) { Update(obj, newObj); } } else //updating { performed = wcf.UpdatePagamentoUnificatoFatturaAcquisto(obj); } //sync pagamento if (performed) { var viewModelPagamento = new Pagamento.PagamentoViewModel(); var pagamento = viewModelPagamento.ReadPagamento(obj); creating = (pagamento == null); if (creating) { pagamento = BusinessLogic.Pagamento.GetNewPagamento(obj); } var pagamentoOld = viewModelPagamento.ReadPagamento(pagamentoUnificatoOld, fatturaAcquistoOld); if (pagamentoOld != null && pagamento != null && pagamentoOld.Id != pagamento.Id) { viewModelPagamento.Delete(pagamentoOld); } performed = viewModelPagamento.Save(pagamento, creating); } return(performed); } } catch (Exception ex) { UtilityError.Write(ex); } return(false); }