public JsonResult UpdateActividadePorFornecedor([FromBody] ActividadesPorFornecedorView item) { if (item != null) { ActividadesPorFornecedor actividadesPorFornecedor = DBConsultaMercado.GetDetalheActividadesPorFornecedor(item.Id.ToString()); if (actividadesPorFornecedor != null) { actividadesPorFornecedor.CodActividade = item.CodActividade; actividadesPorFornecedor.CodFornecedor = item.CodFornecedor; try { DBConsultaMercado.Update(actividadesPorFornecedor); actividadesPorFornecedor = DBConsultaMercado.GetDetalheActividadesPorFornecedor(item.Id.ToString()); item = DBConsultaMercado.CastActividadesPorFornecedorToView(actividadesPorFornecedor); item.eReasonCode = 1; item.eMessage = "Actividade por Fornecedor actualizada com sucesso!"; } catch { item.eReasonCode = -1; item.eMessage = "Ocorreu um erro ao gravar a Actividade por Fornecedor!"; return(Json(item)); } } else { item.eReasonCode = -1; item.eMessage = "Ocorreu um erro!"; return(Json(item)); } } return(Json(item)); }
public JsonResult UpdateActividade([FromBody] ActividadesView item) { if (item != null) { Actividades actividades = DBConsultaMercado.GetDetalheActividades(item.CodActividade); if (actividades != null) { actividades.CodActividade = item.CodActividade; actividades.Descricao = item.Descricao; try { DBConsultaMercado.Update(actividades); actividades = DBConsultaMercado.GetDetalheActividades(item.CodActividade); item = DBConsultaMercado.CastActividadesToView(actividades); item.eReasonCode = 1; item.eMessage = "Actividade actualizada com sucesso!"; } catch { item.eReasonCode = -1; item.eMessage = "Ocorreu um erro ao gravar a Actividade!"; return(Json(item)); } } else { item.eReasonCode = -1; item.eMessage = "Ocorreu um erro!"; return(Json(item)); } } return(Json(item)); }
public RequisitionViewModel CreateMarketConsultFor(RequisitionViewModel requisition) { try { //Verificar se pode criar uma consulta de mercado if (requisition.Lines.Where(p => p.CreateMarketSearch == true).Where(p => string.IsNullOrEmpty(p.QueryCreatedMarketNo)).Count() <= 0) { requisition.eReasonCode = -1; requisition.eMessage = "Consulta ao Mercado não pode ser criada! As linhas devem estar marcadas com 'Criar Consulta Mercado' e não ter 'Nº de Consulta Mercado Criada'"; return(requisition); } //Criar nova Consulta Mercado - Obtenção do novo NumConsultaMercado e incrementar Numerações ConsultaMercado consultaMercado = DBConsultaMercado.Create(changedByUserName); //Ir Buscar o Nº Mecanográfico do utilizado ConfigUtilizadores UC = DBUserConfigurations.GetById(changedByUserName); //Actualizar o registo com os dados possiveis consultaMercado.CodProjecto = requisition.ProjectNo == "" ? null : requisition.ProjectNo; consultaMercado.Descricao = "Consulta Mercado - " + requisition.RequisitionNo; consultaMercado.CodRegiao = requisition.RegionCode; consultaMercado.CodAreaFuncional = requisition.FunctionalAreaCode; consultaMercado.CodCentroResponsabilidade = requisition.CenterResponsibilityCode; consultaMercado.DataPedidoCotacao = DateTime.Now; consultaMercado.CodLocalizacao = requisition.LocalCode; consultaMercado.Destino = 0; consultaMercado.Estado = 0; consultaMercado.UtilizadorRequisicao = requisition.CreateUser; consultaMercado.Fase = 0; consultaMercado.Modalidade = 0; consultaMercado.PedidoCotacaoCriadoEm = DateTime.Now; consultaMercado.PedidoCotacaoCriadoPor = changedByUserName; consultaMercado.NumRequisicao = requisition.RequisitionNo; consultaMercado.Urgente = requisition.Urgent; consultaMercado.CodComprador = !string.IsNullOrEmpty(UC.EmployeeNo) ? UC.EmployeeNo : null; consultaMercado = DBConsultaMercado.Update(consultaMercado); //Para cada linha da requisição foreach (RequisitionLineViewModel requisitionLine in requisition.Lines.Where(p => p.CreateMarketSearch == true).Where(p => p.QueryCreatedMarketNo == null)) { decimal _qty = requisitionLine.QuantityToRequire != null ? requisitionLine.QuantityToRequire.Value : 0; decimal _custo = requisitionLine.UnitCost != null ? requisitionLine.UnitCost.Value : 0; decimal _custoTotalPrev = Math.Round(_qty * _custo * 100) / 100; DateTime?_dataEntrega; try { _dataEntrega = DateTime.Parse(requisitionLine.ExpectedReceivingDate); } catch { _dataEntrega = null; } //Inserir Linhas na tabela "Linhas_Consulta_Mercado" LinhasConsultaMercado linhasConsultaMercado = new LinhasConsultaMercado() { NumConsultaMercado = consultaMercado.NumConsultaMercado, CodProduto = requisitionLine.Code, Descricao = requisitionLine.Description, Descricao2 = requisitionLine.Description2, NumProjecto = requisitionLine.ProjectNo, CodRegiao = requisitionLine.RegionCode, CodAreaFuncional = requisitionLine.FunctionalAreaCode, CodCentroResponsabilidade = requisitionLine.CenterResponsibilityCode, CodLocalizacao = requisitionLine.LocalCode, Quantidade = requisitionLine.QuantityToRequire, CustoUnitarioPrevisto = requisitionLine.UnitCost, CustoTotalPrevisto = _custoTotalPrev, CodUnidadeMedida = requisitionLine.UnitMeasureCode, DataEntregaPrevista = _dataEntrega, NumRequisicao = requisition.RequisitionNo, LinhaRequisicao = requisitionLine.LineNo, CriadoEm = DateTime.Now, CriadoPor = changedByUserName }; linhasConsultaMercado = DBConsultaMercado.Create(linhasConsultaMercado); //Verificar se tem Fornecedor identificado if (requisitionLine.SupplierNo != null) { //Verificar se na tabela "Seleccao_Entidades" já temos este Fornecedor para esta Consulta Mercado SeleccaoEntidades seleccaoEntidades = DBConsultaMercado.GetSeleccaoEntidadesPorNumConsultaFornecedor(consultaMercado.NumConsultaMercado, requisitionLine.SupplierNo); if (seleccaoEntidades == null) { seleccaoEntidades = new SeleccaoEntidades() { NumConsultaMercado = consultaMercado.NumConsultaMercado, CodFornecedor = requisitionLine.SupplierNo, NomeFornecedor = !string.IsNullOrEmpty(requisitionLine.SupplierNo) ? DBNAV2017Supplier.GetAll(_config.NAVDatabaseName, _config.NAVCompanyName, requisitionLine.SupplierNo).FirstOrDefault().Name : "", Selecionado = true, Preferencial = true }; seleccaoEntidades = DBConsultaMercado.Create(seleccaoEntidades); } } requisitionLine.QueryCreatedMarketNo = consultaMercado.NumConsultaMercado; DBRequestLine.Update(DBRequestLine.ParseToDB(requisitionLine)); } requisition.MarketInquiryNo = consultaMercado.NumConsultaMercado; Requisição requisição = DBRequest.ParseToDB(requisition); DBRequest.Update(requisição); requisition = DBRequest.ParseToViewModel(requisição); requisition.eReasonCode = 1; requisition.eMessage = "Consulta ao Mercado " + consultaMercado.NumConsultaMercado + " criada com sucesso"; } catch (Exception ex) { requisition.eReasonCode = -1; requisition.eMessage = ex.Message; } return(requisition); }