public tblMatrizWorkzone UpdateMatriz(tblMatrizWorkzone Matriz) { var matrizToUpdate = _db.tblMatrizWorkzone.Find(Matriz.idMatrizWZ); matrizToUpdate.idWorkzone = Matriz.idWorkzone; matrizToUpdate.Usuario = Matriz.Usuario; matrizToUpdate.DataCriacao = Matriz.DataCriacao; _db.Entry(matrizToUpdate).State = EntityState.Modified; _db.SaveChanges(); return(matrizToUpdate); }
public tblMatrizWorkzone CreateMatriz(tblMatrizWorkzone Matriz) { var exist = GetMatrizByWZId(Matriz.idWorkzone); if (exist == null) { _db.tblMatrizWorkzone.Add(Matriz); _db.SaveChanges(); var matrizCreated = _db.tblMatrizWorkzone .OrderByDescending(w => w.DataCriacao) .FirstOrDefault(); return(matrizCreated); } else { return(exist); } }
public void TransferirValoresMatrizTempToOficial(int WorkzoneID) { var exits = _matrizService.GetMatrizByWZId(WorkzoneID); var matrizWz = new tblMatrizWorkzone(); var exitsMTemp = _matrizTempService.GetMatrizTempByWZId(WorkzoneID); //Se a matriz oficial do WZID existe -> deleta para criar uma nova // E deleta seus filhos tbm (Atividades e Treinamentos) if (exits != null) { _matrizFuncActivityService.DeleteMatrizAll(exits.idMatrizWZ); _matrizFuncTrainingService.DeleteMatrizAll(exits.idMatrizWZ); } // VERIFICA SE A MATRIZ TEMPORARIA POSSUI AVALIAÇÕES EM ATIVIDADE var avalAtiv = _matrizFuncActivityTempService.GetMatrizTempByIdMWZ(exitsMTemp.idMatrizWZTemp); tblMatrizFuncXAtividades newAtivObj = new tblMatrizFuncXAtividades(); List <tblMatrizFuncXAtividades> newAtivList = new List <tblMatrizFuncXAtividades>(); foreach (var aval in avalAtiv) { //var matrizOficialAtiv = _matrizFuncActivityService.GetMatrizByFuncXAtiv(exits.idMatrizWZ, aval.idAtividade, aval.idFuncionario); //if (matrizOficialAtiv == null) //{ newAtivObj = new tblMatrizFuncXAtividades(); newAtivObj.idAtividade = aval.idAtividade; newAtivObj.idFuncionario = aval.idFuncionario; newAtivObj.idItemPerfil = aval.idItemPerfil; newAtivObj.cor = aval.cor; newAtivObj.alocacaoForcada = aval.alocacaoForcada; newAtivObj.idMatrizWorkzone = exits.idMatrizWZ; newAtivList.Add(newAtivObj); //} } //Cria todas as atividades e suas respectivas avaliações if (newAtivList.Count() > 0) { _matrizFuncActivityService.CreateAllMatriz(newAtivList); } // VERIFICA SE A MATRIZ TEMP POSSUI AVALIAÇÕES EM TREINAMENTOS var avalTrein = _matrizFuncTrainingTempService.GetMatrizTempByIdMWZ(exitsMTemp.idMatrizWZTemp); tblMatrizFuncXTreinamento newTreinObj = new tblMatrizFuncXTreinamento(); List <tblMatrizFuncXTreinamento> newTreinList = new List <tblMatrizFuncXTreinamento>(); foreach (var aval in avalTrein) { newTreinObj = new tblMatrizFuncXTreinamento(); newTreinObj.idTreinamento = aval.idTreinamento; newTreinObj.idFuncionario = aval.idFuncionario; newTreinObj.idItemPerfil = aval.idItemPerfil; newTreinObj.idMatrizWorkzone = exits.idMatrizWZ; newTreinList.Add(newTreinObj); } if (newTreinList.Count > 0) { _matrizFuncTrainingService.CreateAllMatriz(newTreinList); } }
public ActionResult Matriz(int WorkzoneID, bool catchValueFromOficial = true) { CookieHelper.Delete("userId"); var workzone = _workzone.GetWorkzoneById(WorkzoneID); try { //Veriica se o cara possui permissão para acessar a matriz de acordo com o CC //if (!AllowCC(workzone.idCC)) //{ // //Response.Write("<script>alert('Sem acesso a esta tela. Verificar CC cadastrado no AutSis');</script>"); // //Thread.Sleep(3000); // return RedirectToAction("Index", new { error = true }); //} // DESCOMENTA ESSA LINHA DE CIMAAAAAAAAAAAAA DEPOIS SetImage(); var exits = _matrizService.GetMatrizByWZId(WorkzoneID); var matrizWz = new tblMatrizWorkzone(); var matrizWzTemp = new tblMatrizWorkzoneTemp(); matrizWz.idMatrizWZ = 0; matrizWzTemp.idMatrizWZTemp = 0; //VERIFICA SE A MATRIZ TEMPORÁRIA ESTÁ LIMPA var matrizTemp = _matrizTempService.GetMatrizTempByWZId(WorkzoneID); if (matrizTemp != null) { _matrizFuncActivityTempService.DeleteMatrizTempAll(matrizTemp.idMatrizWZTemp); _matrizFuncTrainingTempService.DeleteMatrizTempAll(matrizTemp.idMatrizWZTemp); _matrizTempService.DeleteMatrizTemp(matrizTemp.idMatrizWZTemp); } if (exits == null) { var username = ""; try { username = AuthorizationHelper.GetSystem().Usuario.ChaveAmericas; } catch { username = ""; } // CRIA MATRIZ OFICIAL SE ELA N EXISTIR tblMatrizWorkzone matrizXworzoneTemp = new tblMatrizWorkzone(); matrizXworzoneTemp.Usuario = username; matrizXworzoneTemp.DataCriacao = DateTime.Now; matrizXworzoneTemp.idWorkzone = WorkzoneID; matrizWz = _matrizService.CreateMatriz(matrizXworzoneTemp); } else { matrizWz = exits; } var exitsMTemp = _matrizTempService.GetMatrizTempByWZId(WorkzoneID); if (exitsMTemp == null) { var username = ""; try { username = AuthorizationHelper.GetSystem().Usuario.ChaveAmericas; } catch { username = ""; } // CRIA MATRIZ TEMPORÁRIA ONDE A EDIÇÃO SERÁ FEITA tblMatrizWorkzoneTemp matrizXworzoneTempTemp = new tblMatrizWorkzoneTemp(); matrizXworzoneTempTemp.Usuario = username; matrizXworzoneTempTemp.DataCriacao = DateTime.Now; matrizXworzoneTempTemp.idWorkzone = WorkzoneID; matrizWzTemp = _matrizTempService.CreateMatrizTemp(matrizXworzoneTempTemp); exitsMTemp = _matrizTempService.GetMatrizTempByWZId(WorkzoneID); // VERIFICA SE A MATRIZ POSSUI AVALIAÇÕES EM ATIVIDADE var avalAtiv = _matrizFuncActivityService.GetMatrizByMWZId(matrizWz.idMatrizWZ); var idsActv = new List <int>(); if (avalAtiv.Count() > 0) { tblMatrizFuncXAtividadesTemp newAvalObj = new tblMatrizFuncXAtividadesTemp(); var existInActivityAssociation = _workzoneXActivity.GetWorzoneXActivityListByIdWz(matrizWz.idWorkzone); foreach (var aval in avalAtiv) { if (existInActivityAssociation.Where(a => a.tblAtividades.idAtividade == aval.idAtividade) != null) { newAvalObj = new tblMatrizFuncXAtividadesTemp(); newAvalObj.idAtividade = aval.idAtividade; newAvalObj.idFuncionario = aval.idFuncionario; newAvalObj.idItemPerfil = aval.idItemPerfil; newAvalObj.idMatrizWorkzoneTemp = matrizWzTemp.idMatrizWZTemp; _matrizFuncActivityTempService.CreateMatrizTemp(newAvalObj); } else { idsActv.Add(aval.idAtividade); } } } // VERIFICA SE A MATRIZ POSSUI AVALIAÇÕES EM TREINAMENTOS var avalTrein = _matrizFuncTrainingService.GetMatrizByIdMWZ(matrizWz.idMatrizWZ); if (avalTrein.Count() > 0) { tblMatrizFuncXTreinamentoTemp newTreinObj = new tblMatrizFuncXTreinamentoTemp(); foreach (var aval in avalTrein) { var training = _training.GetTrainingById(aval.idTreinamento); var existTrainingInAssociation = true; //VERIFICA SE AQUELE TREINAMENTO[N] QUE POSSUI AVALIAÇÃO EXISTE AINDA NA ASSOCIAÇÃO // OU SE FOI DESASSOCIADO foreach (var id in idsActv) { var returned = training.tblAtividadeXTreinamentos.Where(a => a.tblAtividades.idAtividade == id); if (returned.Count() > 0) { existTrainingInAssociation = true; } } if (idsActv.Count == 0) { existTrainingInAssociation = true; } if (existTrainingInAssociation) { newTreinObj = new tblMatrizFuncXTreinamentoTemp(); newTreinObj.idTreinamento = aval.idTreinamento; newTreinObj.idFuncionario = aval.idFuncionario; newTreinObj.idItemPerfil = aval.idItemPerfil; newTreinObj.idMatrizWorkzoneTemp = matrizWzTemp.idMatrizWZTemp; _matrizFuncTrainingTempService.CreateMatrizTemp(newTreinObj); } } } } var activiesList = _workzoneXActivity.SetUpActivitiesList(WorkzoneID); List <tblTreinamento> trainingList = new List <tblTreinamento>(); List <tblTipoTreinamento> ttList = new List <tblTipoTreinamento>(); // OBTER TODAS OS TREINAMENTOS DE TODAS ATIVIDADES DA ZONA // E OS SEUS TIPOS foreach (var aList in activiesList) { //Pega todos IDs de atividades associados a treinamentos DA ZONA foreach (var aXt in aList.tblAtividadeXTreinamentos.OrderBy(t => t.tblTreinamento.idTipoTreinamento)) { var x = aList.tblAtividadeXTreinamentos.OrderBy(t => t.tblTreinamento.idTipoTreinamento); var aux = _training.GetTrainingById(aXt.idTreinamento); //Verifica se o treinamento já existe na Lista if (trainingList.Exists(t => t.IdTreinamento == aux.IdTreinamento) == false) { trainingList.Add(aux); } if (ttList.Exists(t => t.IdTipoTreinamento == aux.tblTipoTreinamento.IdTipoTreinamento) == false) { ttList.Add(aux.tblTipoTreinamento); } } } if (activiesList.Count() > 0 && trainingList.Count() > 0 && workzone.tblWorkzoneXFuncionario.Count() > 0) { ViewBag.show = true; } else { ViewBag.show = false; } ViewBag.trainingList = trainingList.OrderBy(t => t.idTipoTreinamento); ViewBag.activiesList = activiesList; ViewBag.ttList = ttList.OrderBy(t => t.IdTipoTreinamento); ViewBag.tListCount = trainingList.Count(); ViewBag.activiesCount = activiesList.Count(); ViewBag.ttListCount = ttList.Count(); ViewBag.MWZID = matrizWz.idMatrizWZ; } catch (Exception ex) { log.Debug(ex.Message.ToString()); } return(View("Matriz", workzone)); }