public void ConfigCalendario(Indigo_ConfigCalendario calendario) { try { var context = new Indigo_Controle_Licenca(); context.Indigo_ConfigCalendario.AddOrUpdate(calendario); context.SaveChanges(); } catch (Exception) { } }
public ActionResult HorasProjeto() { try { Indigo_ConfigCalendario retorno_calendario = new Indigo_ConfigCalendario(); List <RetornoTargetUsuario> retorno = new List <RetornoTargetUsuario>(); int dias_uteis = 0; if (DateTime.Now.Day == 1) { dias_uteis = DiasUteis(); } else { retorno_calendario = dataInterface.BuscaCalendario().FirstOrDefault(x => x.id_qt == 1); dias_uteis = Convert.ToInt32(retorno_calendario.qt_diaUtil); } ViewBag.carga_horas = dias_uteis * 8; int idusuario = Convert.ToInt32(Session["IDUSUARIO"]); int target_mes_seg = (dias_uteis * 8) * 3600; retorno = dataInterface.RetornaTarget(target_mes_seg, idusuario); foreach (var reg in retorno) { ViewBag.horas_atual = reg.target_atual; ViewBag.carga_horas = reg.target_total; if (reg.target_atual > 0) { double carga_atuals = Convert.ToDouble(reg.target_atual) / Convert.ToDouble(reg.target_total); carga_atuals = carga_atuals * 100; ViewBag.carga_atuals = string.Format("{0:0.00}", carga_atuals).Replace(",", "."); } else { ViewBag.carga_atuals = "0"; } } return(View()); } catch (Exception ex) { log(ex.Message + " -- " + ex.StackTrace); return(View()); } }
public int DiasUteis() { UserCredential credential; string path = Server.MapPath(@"~/Scripts/Google/").ToString(); using (var stream = new FileStream(path + "client_secret.json", FileMode.Open, FileAccess.Read)) { credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "Check-in-out", CancellationToken.None, new FileDataStore(path, true)).Result; } // Create Google Calendar API service. var service = new CalendarService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); // Define parameters of request. EventsResource.ListRequest request = service.Events.List("en.brazilian#[email protected]"); //request.TimeMin = DateTime.Now; request.ShowDeleted = false; request.SingleEvents = true; request.MaxResults = 100; request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime; request.TimeZone = "America/Sao_Paulo"; // List events. Events events = new Events(); events = request.Execute(); List <string> h = new List <string>(); if (events.Items != null && events.Items.Count > 0) { foreach (var eventItem in events.Items) { if (eventItem.Start.Date.ToString().Contains(DateTime.Now.ToString("yyyy-MM"))) { h.Add(eventItem.Description); DateTime data = Convert.ToDateTime(eventItem.Start.Date); if (data.Day == 1) { var calendar = new Indigo_Calendario(); calendar.id_data = data.Day; calendar.data = Convert.ToDateTime(eventItem.Start.Date); dataInterface.Calendario(calendar); } } } } int dias = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); int dias_uteis = 0; dias_uteis = dias - RetornarDiasNutil(dias); var calendario = new Indigo_ConfigCalendario(); calendario.id_qt = 1; calendario.qt_diaUtil = dias_uteis; calendario.qt_diaFeriado = h.Count; calendario.qt_FimDeSemana = dias - dias_uteis; calendario.qt_targetTotal = (dias_uteis - h.Count()) * 8; dataInterface.ConfigCalendario(calendario); return(dias_uteis - h.Count()); }