public ORespuesta Registrar(ORegistro pmtPeticion) { ORespuesta Ls = new ORespuesta(); Ls.Respuesta.Add(0); try { byte[] salt = pmtPeticion.GenerarSalt(); Hashtable Parametros = new Hashtable() { { "@email", pmtPeticion.CorreoElectronico }, { "@password", pmtPeticion.HashPasswordConSalt(Encoding.UTF8.GetBytes(pmtPeticion.Password), salt) }, { "@salt", salt }, { "@idEstatus", 1 }, { "@nombre", pmtPeticion.Nombre }, { "@direccion", pmtPeticion.Direccion }, { "@idTipo", pmtPeticion.IDTipoMascota }, { "@raza", pmtPeticion.Raza }, { "@idSexo", pmtPeticion.IDSexo }, { "@nombreMascota", pmtPeticion.NombreMascota } }; DataSet ds = BaseDeDatos.EjecutaProcedimientoAlmacenado("sp_insert_registro", Parametros, cadenaConexionLocal); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { Ls.Respuesta[0] = Int32.Parse(row["idUsuario"].ToString()); } } } if ((int)Ls.Respuesta[0] > 0) { Parametros = new Hashtable() { { "@idUsuario", Ls.Respuesta[0] }, { "@imagen", "../../Recursos/ImagenesPerfil/" + Ls.Respuesta[0].ToString() + Path.GetExtension(pmtPeticion.UploadImagen.FileName) } }; ds = BaseDeDatos.EjecutaProcedimientoAlmacenado("sp_update_imagen_usuario", Parametros, cadenaConexionLocal); Ls.Exitoso = true; return(Ls); } return(Ls); } catch (SqlException e) { Ls.Mensaje = e.Message; return(Ls); } catch (Exception e) { Ls.Mensaje = e.Message; return(Ls); } }
public JsonResult Registrar(ORegistro PmtPeticion) { ORespuesta data = _D.Registrar(PmtPeticion); if (data.Exitoso) { PmtPeticion.URLImagen = data.Respuesta[0].ToString() + Path.GetExtension(PmtPeticion.UploadImagen.FileName); PmtPeticion.UploadImagen.SaveAs(Path.Combine(Server.MapPath("~/Recursos/ImagenesPerfil"), PmtPeticion.URLImagen)); } return(Json(data)); }
public ORespuesta ValidarCorreoElectronicoDisponible(ORegistro pmtPeticion) { ORespuesta Ls = new ORespuesta(); Ls.Respuesta.Add(false); try { Hashtable Parametros = new Hashtable() { { "@email", pmtPeticion.CorreoElectronico } }; DataSet ds = BaseDeDatos.EjecutaProcedimientoAlmacenado("sp_select_validar_correo_electronico", Parametros, cadenaConexionLocal); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { if (Int32.Parse(row["resultado"].ToString()) == 0) { Ls.Respuesta[0] = true; } } } } return(Ls); } catch (SqlException e) { return(Ls); } catch (Exception e) { return(Ls); } }
private void button1_Click(object sender, EventArgs e) { try { // Creamos la lista List <ORegistro> listRegistro = new List <ORegistro>(); // Creamos la otra lista List <OCalculo> listCalculo = new List <OCalculo>(); // Leemos los registros foreach (var row in textBox1.Lines) { // Validamos el largo if (row.Length == 25) { // Instanciamos ORegistro oRegistro = new ORegistro(); // Obtenemos el codigo del empleado oRegistro.CodEmpleado = row.Substring(0, 3); // Fecha y hora del registro oRegistro.Hora = new DateTime( int.Parse(row.Substring(4, 4)), int.Parse(row.Substring(9, 2)), int.Parse(row.Substring(12, 2)), int.Parse(row.Substring(15, 2)), int.Parse(row.Substring(18, 2)), int.Parse(row.Substring(21, 2))); // Tipo de registro oRegistro.Tipo = oRegistro.Hora.Hour < 11 ? ORegistro.ETipo.Entrada : ORegistro.ETipo.Salida; // Agregamos a la lista listRegistro.Add(oRegistro); } } // Procesamos foreach (ORegistro row in listRegistro) { // Instanciamos el calculo OCalculo oCalculo = new OCalculo(); // Llenamos oCalculo.CodEmpleado = row.CodEmpleado; oCalculo.Dia = row.Hora; // Obtenemos la difrencia TimeSpan timeSpan = row.Hora - row.Hora.Date; // Forma de trabajar switch (row.Tipo) { // Atrasos case ORegistro.ETipo.Entrada: if (row.Hora.DayOfWeek != DayOfWeek.Saturday & row.Hora.DayOfWeek != DayOfWeek.Sunday) { // Si superas las 8,5 horas es contado como atraso if (timeSpan.TotalHours > 8.5) { oCalculo.MinAtraso = timeSpan.TotalMinutes - 510; oCalculo.Tipo = ORegistro.ETipo.Entrada; listCalculo.Add(oCalculo); } else { oCalculo.MinAtraso = 0; oCalculo.Tipo = ORegistro.ETipo.Entrada; listCalculo.Add(oCalculo); } } break; case ORegistro.ETipo.Salida: if (row.Hora.DayOfWeek != DayOfWeek.Saturday & row.Hora.DayOfWeek != DayOfWeek.Sunday) { // Si supera los 1060 minutos cuenta como hora extra if (timeSpan.TotalMinutes >= 1060) { oCalculo.MinExtra50 = (row.Hora - row.Hora.Date.AddHours(17.50)).TotalMinutes; oCalculo.Tipo = ORegistro.ETipo.Salida; listCalculo.Add(oCalculo); } else { oCalculo.MinExtra50 = 0; oCalculo.Tipo = ORegistro.ETipo.Salida; listCalculo.Add(oCalculo); } } break; } } DataTable dataTable = new DataTable(); dataTable.Columns.Add("Dia", typeof(string)); dataTable.Columns.Add("Entrada", typeof(string)); dataTable.Columns.Add("Atraso", typeof(string)); dataTable.Columns.Add("Salida", typeof(string)); dataTable.Columns.Add("Extra", typeof(string)); double Atraso = 0; double Extra = 0; var fecha = listCalculo.GroupBy(x => x.Dia.Date).Select(y => y.First()).ToList(); foreach (var row in fecha) { OCalculo entrada = listCalculo.FirstOrDefault(x => x.Dia.Date == row.Dia.Date & x.Tipo == ORegistro.ETipo.Entrada) ?? new OCalculo(); OCalculo salida = listCalculo.FirstOrDefault(x => x.Dia.Date == row.Dia.Date & x.Tipo == ORegistro.ETipo.Salida) ?? new OCalculo(); Atraso = Atraso + entrada.MinAtraso; Extra = Extra + entrada.MinExtra50; dataTable.Rows.Add( $"{row.Dia:yyyy-MM-dd}", $"{entrada.Dia:HH:mm:ss}", $"{entrada.MinAtraso:n2}", $"{salida.Dia:HH:mm:ss}", $"{salida.MinExtra50:n2}"); } dataGridView1.DataSource = dataTable; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine($"Atrasos: {listCalculo.Select(x => x.MinAtraso).Sum():n2} min."); stringBuilder.AppendLine($"Extra: {listCalculo.Select(x => x.MinExtra50).Sum():n2} min. | {listCalculo.Select(x => x.MinExtra50).Sum()/60:n2} horas"); MessageBox.Show($"{stringBuilder}"); } catch (Exception ex) { MessageBox.Show($"Ha ocurrido un error; {ex.Message}"); } }
public JsonResult ValidarCorreoElectronicoDisponible(ORegistro PmtPeticion) { return(Json(_D.ValidarCorreoElectronicoDisponible(PmtPeticion).Respuesta)); }