public void CambiarStatus(int status_actual, int status, int id_pedido) { C_pedidos c_pedidos = db.C_pedidos.Find(id_pedido); c_pedidos.id_tracking_status = status; if (status == 2) { RegistroMovimiento(id_pedido); } if (status == 5) { var repartidor_pedido = from rp in db.C_pedidos_empleados where rp.id_pedido == c_pedidos.id_pedido select rp; if (repartidor_pedido.Count() > 0) { foreach (var item in repartidor_pedido) { C_pedidos_empleados c_pedidos_empleados = new C_pedidos_empleados(); c_pedidos_empleados.id_empleado = item.id_empleado; c_pedidos_empleados.id_pedido = id_pedido; c_pedidos_empleados.status = true; c_pedidos_empleados.entrada_salida = true; c_pedidos_empleados.fecha = DateTime.Now; db.C_pedidos_empleados.Add(c_pedidos_empleados); } } } db.SaveChanges(); DateTime date1 = DateTime.Now; var ultimo_cambio = db.C_tracking_status_log.Where(x => x.id_tracking_status2 == status_actual && x.id_pedido == id_pedido); C_tracking_status_log c_tracking_status_log = new C_tracking_status_log(); c_tracking_status_log.fecha = DateTime.Now; c_tracking_status_log.id_pedido = id_pedido; c_tracking_status_log.id_tracking_status1 = status_actual; c_tracking_status_log.id_tracking_status2 = status; c_tracking_status_log.id_usuario = (int)Session["LoggedId"]; if (ultimo_cambio.Count() > 0) { foreach (var item in ultimo_cambio) { DateTime date2 = Convert.ToDateTime(item.fecha); var tiempo_pedido = date1.Subtract(date2); c_tracking_status_log.seg_recorridos = tiempo_pedido.Seconds; } } else { DateTime date2 = Convert.ToDateTime(c_pedidos.fecha_pedido); var tiempo_pedido = date1.Subtract(date2); c_tracking_status_log.seg_recorridos = tiempo_pedido.Seconds; } db.C_tracking_status_log.Add(c_tracking_status_log); db.SaveChanges(); }
public void AsignarRepartidor(int id_empleados, int id_pedido) { C_pedidos_empleados c_pedidos_empleados = new C_pedidos_empleados(); c_pedidos_empleados.id_empleado = id_empleados; c_pedidos_empleados.id_pedido = id_pedido; c_pedidos_empleados.status = true; c_pedidos_empleados.entrada_salida = false; c_pedidos_empleados.fecha = DateTime.Now; db.Entry(c_pedidos_empleados).State = EntityState.Added; db.SaveChanges(); }